Abi*_*hek 7 group-by laravel eloquent laravel-4
with函数可以与Laravel Eloquent中的GroupBy子句一起使用吗?如果我使用Select Clause选择特定项目,它是否可以用于任何目的?
以下是我目前的查询
Order::with('Campaign')
->where('isapproved','=','Y')
->groupBy('campaign_id')
->orderBy(DB::raw('COUNT(id)','desc'))
->get(array(DB::raw('COUNT(id) as totalsales')));
Run Code Online (Sandbox Code Playgroud)
该order表中有一列名campaign_id其belongsTo表命名campaigns.我想从订单表中获取每个广告系列的销售总数,并需要按以下方式显示.
Total Sales Campaign
-------------------------
200 Campaign1
500 Campaign2
300 Campaign3
Run Code Online (Sandbox Code Playgroud)
我是否必须执行特定选择,还是可以从上述查询中访问Campaign表的值?
如果在SELECT子句中检索在With函数上指定的Model所需的引用列,则With上述查询将考虑该函数.经过纠正的查询将是
$groupedSalesCampaign = Order::with('Campaign')
->where('isapproved','=','Y')
->groupBy('campaign_id')
->orderBy(DB::raw('COUNT(id)','desc'))
->get(array(DB::raw('COUNT(id) as totalsales'),'campaign_id'));
Run Code Online (Sandbox Code Playgroud)
这样可以使用检索Campaign信息
foreach($groupedSalesCampaign as $campaign)
{
Log::info($campaign->foo->bar);
}
Run Code Online (Sandbox Code Playgroud)
编辑.
| 归档时间: |
|
| 查看次数: |
13439 次 |
| 最近记录: |