這是我的查詢使用流利的查詢生成器。如何使用Laravel的流利的查詢生成器來選擇計數?
$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的流利的查詢生成器來進行此選擇?我知道我可以使用原始的sql查詢,但我希望儘可能避免這種情況。任何幫助將不勝感激,在此先感謝!
ahh是的,我意識到這一點。除此之外,我希望能夠通過類似於我發佈的原始續集的單個查詢來完成此操作。這種方法要求我循環訪問數據併爲每行計數(每行的數量可以不同)。任何其他想法?謝謝您的幫助! –
鏈接不再工作:( – Damon
謝謝@Damon我已更新鏈接 –