Mysql 如何使用Laravel的fluent查询生成器选择计数?
下面是我使用fluent query builder进行的查询Mysql 如何使用Laravel的fluent查询生成器选择计数?,mysql,activerecord,fluent,laravel,eloquent,Mysql,Activerecord,Fluent,Laravel,Eloquent,下面是我使用fluent query builder进行的查询 $query = DB::table('category_issue') ->select('issues.*') ->where('category_id', '=', 1) ->join('issues', 'category_issue.issue_id', '=', 'issues.id') ->left_join('issue_
$query = DB::table('category_issue')
->select('issues.*')
->where('category_id', '=', 1)
->join('issues', 'category_issue.issue_id', '=', 'issues.id')
->left_join('issue_subscriptions', 'issues.id', '=', 'issue_subscriptions.issue_id')
->group_by('issues.id')
->order_by(DB::raw('COUNT(issue_subscriptions.issue_id)'), 'desc')
->get();
如您所见,我是按联接表中的计数排序的。这很好用。但是,我希望将此计数与我的选择一起返回
下面是我的原始续集查询,运行良好
Select issues.*, COUNT(issue_subscriptions.issue_id) AS followers
FROM category_issue JOIN Issues ON category_issue.issue_id = issues.id
LEFT JOIN issue_subscriptions ON issues.id = issue_subscriptions.issue_id
WHERE category_issue.category_id = 1
GROUP BY issues.id
ORDER BY followers DESC
我将如何使用Laravel的fluent查询生成器进行此选择?我知道我可以使用原始sql查询,但如果可能的话,我希望避免这种情况。任何帮助都将不胜感激,提前感谢
$count = DB::table('category_issue')->count();
将为您提供项目的数量
有关更多详细信息,请查看中的Fluent Query Builder部分。您可以在select中使用数组来定义更多列,也可以使用DB::raw将其别名化为followers。应该是这样的: $query=DB::表“类别问题” ->选择数组'issues.*',DB::raw'COUNTissue\u subscriptions.issue\u id as followers' ->其中'category_id','=',1 ->加入'issues','category'u issue.issue'id','=','issues.id' ->左键联接'issue'u订阅','issues.id','=','issue'u订阅.issue'id' ->按“issues.id”分组 ->按“追随者”、“描述”排序 ->得到;
啊,是的,我知道这一点。除此之外,我希望在一个类似于我发布的原始续集的查询中完成它。这种方法需要我循环遍历数据,并对每一行进行计数。每一行的计数可以也将不同。还有其他想法吗?谢谢你的帮助!你如何计算访问次数$计数[0]->计数?@Silver89就像这样:echo$count。