ここでは、流暢なクエリビルダを使用して私のクエリです。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クエリを使用することができますが、私は可能な場合は避けることを知っている。どのような助けもありがとうございます、事前に感謝!
ああ、私はこれを知っていました。それ以外は、私が投稿した生の続編に似た単一のクエリでそれを行うことを望んでいました。このアプローチでは、私のデータをループして各行ごとに数える必要があります(各行の数は異なります)。他のアイデア?助けてくれてありがとう! –
リンクはもはや動作しません:( – Damon
ありがとう@Damonリンクを更新しました –