【发布时间】:2020-08-16 13:01:32
【问题描述】:
我正在尝试显示用户最喜欢的文章 我想为每篇文章添加收藏夹的用户数量
我尝试使用此代码:
$result = $result->join('favorite_clothes', 'favorite_clothes.clothe_id', '=', 'clothes.id');
$result = $result->Where('favorite_clothes.user_id', '=', Auth::user()->id);
$result = $result
->groupBy('clothes.id')
->get(["clothes.id", DB::raw("count(favorite_clothes.id) as favorite_count"), "clothes.name"])
->toArray();
但在这种情况下,favorite_count 始终为一 (1)。
我想我可以使用DB:raw() 中的子查询来解决它,比如
DB::raw("SELECT count(favorite_clothes.id) as favorite_count from favorite_clothes where favorite_clothes.clothe_id = clothes.id")
但这不起作用。 还有其他方法吗? 谢谢。
【问题讨论】:
标签: mysql sql laravel join group-by