【发布时间】:2016-10-11 05:10:24
【问题描述】:
点击表架构:
user_id as (integer)
created_at as (Y-m-d H:i:s)
查看表
user_id as (integer)
created_at as (Y-m-d H:i:s)
我需要按日期而不是日期时间计算第一个表 + 第二个表组中的记录:
现在我正在使用 2 个查询:
$clicks = $user->clicks()
->select(\DB::raw("DATE_FORMAT(created_at, '%d/%m/%Y') as date"),
\DB::raw("COUNT(*) as clicks"))
->groupBy('date')
->orderBy('date', 'ASC')
->get()->toArray();
$views = $user->views()
->select(\DB::raw("DATE_FORMAT(created_at, '%d/%m/%Y') as date"),
\DB::raw("COUNT(*) as views"))
->groupBy('date')
->orderBy('date', 'ASC')
->get()->toArray();
在我有一个循环之后
$out = [];
for ($i=0; $i < count($views); $i++) {
$out[] = [
'date' => $views[$i]['date'],
'clicks' => $clicks[$i]['clicks'],
'views' => $views[$i]['views']
];
}
但是这样如果点击存在并且在某个日期查看 no 它不会将它添加到数组中 可以按日期格式加入 created_at 吗?没时间?
【问题讨论】:
标签: php mysql laravel eloquent morris.js