问题描述
我想使用以下查询。
SELECT `name`,COUNT(`user_id`) AS total,SUM(`status` = 'Done') as done
FROM posts GROUP BY `name`,`user_id`,`status`
但是当我实现这个...
Post::selectRaw('count(user_id) as total')
->selectRaw('SUM(status = "Done") as done')
->groupBy('name')
->get();
解决方法
这应该有效:
$posts = DB::table('posts')->select(DB::raw('count(user_id) as total'))->selectRaw('SUM(status = "Done") as done')->groupBy('name')->get();
由于您没有提供有关模型、迁移或逻辑的任何信息,我猜您已正确设置了其他所有内容。
Mohamed Bdr 添加的链接也是很好的示例,我建议您查看它们。