我有模特正常运行时间。如何使用模型查询进行此查询?
SELECT server_id, COUNT(*) status FROM uptime WHERE online = 0 GROUP BY server_id
我试试:
Uptime::where('online', 0)->get();
但这不正确。我需要COUNT(*)
和分组选择。
答案 0 :(得分:2)
Uptime::whereOnline(0)
->groupBy('server_id')
->select('server_id', DB::raw('count(*) as status'))
->get();
whereOnline
是where('online', 0)
答案 1 :(得分:0)
Uptime::select('server_id', DB::raw('COUNT(*) as status'))
->where('online',0)
->groupBy('server_id')
->get();
答案 2 :(得分:-1)
根据laravel docs Raw Expressions
此代码适用于COUNT(*)
和GROUP BY
查询
DB::table('uptime')->select(DB::raw('COUNT(*) as status'))
->where('online',0)
->groupBy('server_id')
->get();
原始语句将作为字符串注入到查询中,因此您应该非常小心,不要创建SQL注入漏洞。