【发布时间】:2018-11-12 16:08:23
【问题描述】:
我一直在尝试从 laravel 中的谷歌分析中获取数据。它将以表格的形式显示路径页面和综合浏览量。我已经使用 spatie/laravel-analytics 检索了数据,但是当我在视图上显示它时,页面浏览量与谷歌分析不相符。所以我一直在尝试使用以下代码对数据进行排序,但不断收到错误
这是我的控制器:
public function google(MediaSite $mediaSite)
{
$ga7day = Analytics::performQuery(
Period::days(7),
'ga:sessions',
[
'metrics' => 'ga:sessions, ga:pageviews',
'dimensions' => 'ga:yearMonth, ga:pagePath',
]
);
$ga1month = Analytics::performQuery(
Period::days(30),
'ga:sessions',
[
'metrics' => 'ga:sessions, ga:pageviews',
'dimensions' => 'ga:yearMonth, ga:pagePath',
]
);
$ga3month = Analytics::performQuery(
Period::months(3),
'ga:sessions',
[
'metrics' => 'ga:sessions, ga:pageviews',
'dimensions' => 'ga:yearMonth, ga:pagePath',
]
);
$analyticsDataToday = Analytics::performQuery(
Period::days(7),
'ga:sessions',
[
'metrics' => 'ga:sessions, ga:pageviews',
'dimensions' => 'ga:yearMonth, ga:pagePath',
]
);
$mediaSite = new MediaSite;
$mediaSite = MediaSite::Where('media_owner_id','1');
foreach ($mediaSite as $site) {
$site->view7days = 0;
foreach ($ga7day as $ga) {
# code...
if($ga['1'] === '/media-site/'. $site->id);
$site->view7days = $ga['3'];
# code...
}
$site->view1month = 0;
foreach ($ga1month as $mga) {
# code...
if($mga['1'] === '/media-site/'. $site->id);
$site->view1month = $mga['3'];
# code...
}
$site->view3month = 0;
foreach ($ga3month as $nga) {
# code...
if($nga['1'] === '/media-site/' . $site->id);
$site->view3month = $nga['3'];
# code...
}
}
return
view('analytics.google',compact('ga7day','ga1month','ga3month',
'analyticsDataToday','site','mediaSite','ga','mga','nga'));
我的看法:
<body>
<form method="get" action="{{ action('AnalyticsController@google') }}">
{{ csrf_field() }}
<div class="input-group">
<input type="text" name="q" class="form-control" placeholder="eg: Media Ownner" required>
<span class="input-group-btn">
<button type="submit" class="btn btn-default">
Go!
</button>
</span>
</div>
</form>
<br>
<br>
<table class="table">
<tr>
<th> Media Site </th>
<th> 7 days</th>
<th> 1 month</th>
<th> 3 month</th>
<th> Overall</th>
</tr>
<tr>
@foreach ($ga as $index => $key)
<tr> <td> {{ $key['1'] }} </td>
<td> {{ $key['3'] }} </td>
<td> {{ $ga1month[$index]['3'] }}</td>
<td> {{ $ga3month[$index]['3'] }}</td>
<td> {{ $analyticsDataToday[$index]['3'] }}</td></tr>
@endforeach
</tr>
</table>
</body>
</html>
我不断收到以下错误: enter image description here
【问题讨论】:
-
请将您的代码减少到解决问题所需的最低限度
-
在此之前
return view('analytics.google',compact('ga7day','ga1month','ga3month', 'analyticsDataToday','site','mediaSite','ga','mga','nga'));能不能输出ga的值,比如return $ga。我相信你的代码中没有定义这个值。 -
如何定义$ga?我实际上并不真正理解我的代码。我只是在谷歌上搜索各种信息。你的意思是 dd() 还是 print_r()?
-
我试过 return $ga 但我仍然得到同样的错误
标签: php laravel google-analytics pageviews