这是我的预期输出:
{
{
"visits": 10,
"clicks": 2,
"sales": 0,
"hour": 15
}
{
"visits": 24
"clicks": 12,
"sales": 1,
"hour": 15
}
}
...
现在我可以通过3个查询获得结果:
$user->$visits
->select(DB::raw('count(id) as `visits`'),DB::raw('HOUR(created_at) hour'))
->groupby('hour')
->orderBy('hour')
->get();
$user->$clicks
->select(DB::raw('count(id) as `clicks`'),DB::raw('HOUR(created_at) hour'))
->groupby('hour')
->orderBy('hour')
->get();
$user->$sales
->select(DB::raw('count(id) as `sales`'),DB::raw('HOUR(created_at) hour'))
->groupby('hour')
->orderBy('hour')
->get()
然后合并这3个集合。
如何在一个查询中获得预期的输出?我很确定这是mysql的工作,不需要被php处理。