【发布时间】:2021-01-12 08:54:19
【问题描述】:
我有一个类似这样的查询
select sum(end_time-start_time) as total,userid,firstname,lastname from users.fd_page_logs
LEFT JOIN users.fd_users ON fd_page_logs.userid=fd_users.id
WHERE fd_users.username!=''".$search."
AND DATE_FORMAT(datetime,'%Y-%m-%d')='".date("Y-m-d")."'
group by userid
order by sum(end_time-start_time) DESC
limit 0,10
我正在尝试将其转换为雄辩的。这就是我目前所得到的
FdPageLogs::select("end_time", "start_time", "userid", "firstname", "lastname")
->leftJoin('fd_users', 'fd_page_logs.userid', '=', 'fd_users.id')
->where('fd_users.username', '!=', '')
->groupBy('fd_page_logs.filename')
->get();
我还错过了什么。
【问题讨论】:
-
你可以使用 DB 行方法与 eloquent
FdPageLogs::select(DB::raw('select sum(end_time-start_time) as total,userid,firstname,lastname from users.fd_page_logs LEFT JOIN users.fd_users ON fd_page_logs.userid=fd_users.id WHERE fd_users.username!=''".$search." AND DATE_FORMAT(datetime,'%Y-%m-%d')='".date("Y-m-d")."' group by userid order by sum(end_time-start_time) DESC limit 0,10))->get();
标签: laravel eloquent laravel-8