在 Laravel 中计数 user_id 在 table 中

Count user_id in a table in Laravel

我想使用以下查询。

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();

我的数据table没有显示任何数据。我的查询有问题吗?

这应该有效:

$posts = DB::table('posts')->select(DB::raw('count(user_id) as total'))->selectRaw('SUM(status = "Done") as done')->groupBy('name')->get();

由于您没有提供任何关于模型、迁移或逻辑的信息,我猜您已经正确设置了所有其他内容。

Mohamed Bdr 添加的链接也是很好的例子,我建议查看它们。