Laravel将原始sql转换为雄辩的sql
我有一个类似这样的问题Laravel将原始sql转换为雄辩的sql,laravel,eloquent,laravel-8,Laravel,Eloquent,Laravel 8,我有一个类似这样的问题 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'
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();
这里我还遗漏了什么。您遗漏了一些原始条件和第一张表:
FdPageLogs::table('fd_page_logs') // Needs this and the DB::raw below
->select(DB::raw('sum(end_time-start_time) as total'),"end_time", "start_time", "userid", "firstname", "lastname")
->leftJoin('fd_users', 'fd_page_logs.userid', '=', 'fd_users.id')
->where('fd_users.username', '!=', $search) //Also missed this
->whereDate('datetime', Carbon::today()) // I prefer this syntax rather than date format
->groupBy('fd_page_logs.filename')
->orderBy('total', 'DESC') //I think this should work
->get();
您错过了一些原始条件和第一张表:
FdPageLogs::table('fd_page_logs') // Needs this and the DB::raw below
->select(DB::raw('sum(end_time-start_time) as total'),"end_time", "start_time", "userid", "firstname", "lastname")
->leftJoin('fd_users', 'fd_page_logs.userid', '=', 'fd_users.id')
->where('fd_users.username', '!=', $search) //Also missed this
->whereDate('datetime', Carbon::today()) // I prefer this syntax rather than date format
->groupBy('fd_page_logs.filename')
->orderBy('total', 'DESC') //I think this should work
->get();
您可以将DB row方法与雄辩的
FdPageLogs::select(DB::raw('select sum(end_time-start_time)作为总计,userid,firstname,lastname from users.fd_page_logs LEFT JOIN users.fd_users.id其中fd_users.username!“”.$search.”和DATE_格式(datetime,%Y-%m-%d')=”。DATE(“Y-m-d”)。”'group by userid order by sum(end_time-start_time)DESC limit 0,10))->get()
您可以将DB row方法与雄辩的FdPageLogs::select(DB::raw('select sum(end_time-start_time)作为总计,userid,firstname,lastname from users.fd_page_logs LEFT JOIN users.fd_users ON fd_page_logs。userid=fd_users.id其中fd_users!''。$search.”和DATE_格式(datetime,%Y-%m-%d')=''。日期(“Y-m-d”)。”'group by userid order by sum(end_time-start_time)DESC limit 0,10))->get()代码>