【发布时间】:2016-11-07 20:50:58
【问题描述】:
更新 1
@lukepolo 发现 23842515550750742 在 JS 中总是随机变为 23842515550750744。任何想法为什么?
我将 Laravel 用于我正在创建的 API。我正在使用 Forge 来运行服务器。
当我在 Chrome、Safari、FireFox 等中拉取接口的 URL 时,它返回的 ID 增加了 2。当我拉取相同的 url 时,在 Postman、CRUD 中具有相同的请求,终端通过 cURL 等,返回正确的响应。
邮递员的结果:
accountid: 1334372826597482
campaign:"Facebook"
campaignid: 23842515550750742 <-- CORRECT
client_id: 72
id: 817
Chrome 的结果:
accountid:1334372826597482
campaign:"Facebook"
campaignid:23842515550750744 <-- INCORRECT
client_id:72
id:817
我正在使用 Facebook 营销 API 将信息保存在本地,因此我可以以比他们的 API 给我提供的更快的响应速度运行大量查询。以下是列出包含基本信息的广告系列的代码:
$this->parseRequestData($request);
$campaigns = FacebookPerformanceOverview::whereIn('client_id', $this->sheet_ids)
->whereIn('accountid', $this->accountIds['facebook'])
->whereIn('campaignid', $this->campaigns)
->whereBetween('date', [$this->start_date, $this->end_date])
->groupBy('campaignid')
->get();
$response = [];
foreach ($campaigns AS $campaign) {
$data = FacebookPerformanceOverview::whereIn('client_id', $this->sheet_ids)
->whereIn('accountid', $this->accountIds['facebook'])
->where('campaignid', $campaign->campaignid)
->whereIn('adsetid', $this->adsets)
->whereBetween('date', [$this->start_date, $this->end_date]);
$response[] = array(
'company' => $campaign->company,
'campaign' => FacebookCampaignSettings::where('campaignid', $campaign->campaignid)->first(),
'impressions' => $data->sum('impressions'),
'clicks' => $data->sum('clicks'),
'cost' => $data->sum('cost'),
'reach' => $data->sum('reach'),
'frequency' => $data->avg('frequency'),
'uniqueclicks' => $data->sum('uniqueclicks'),
'actions' => $data->sum('actions'),
'offsiteconversions' => $data->sum('offsiteconversions'),
'leads' => $data->sum('actionsleadgen') + $this->calculateLeads(),
);
}
return response()->json($response, 200, [], JSON_NUMERIC_CHECK);
我无法提供 URL,因为它包含敏感信息,但我对发生的事情感到困惑。我已清除缓存,不同的浏览器,不同的计算机等。Web 浏览器总是错误地返回网络选项卡中的 ID。有什么想法吗?
【问题讨论】:
标签: php laravel curl eloquent laravel-5.3