[英]Laravel raw sum query to laravel query builder
我正在嘗試從以下原始查詢創建 Laravel 查詢構建器:
SELECT establishments.*, SUM(invoice_rows.total_price) as total_price_sum
FROM `establishments`
JOIN invoices on invoices.establishment_id = establishments.id
JOIN invoice_rows ON invoice_rows.invoice_id = invoices.id
WHERE invoice_rows.invoice_article_group_id = 11
GROUP BY establishments.id
ORDER BY total_price_sum DESC
我嘗試了不同的方法,例如:with、whereHas 和 withCount,但我似乎無法為原始查詢創建正確的 Laravel 查詢構建器。
我認為你應該看看 Laravel 文檔中的join和Raw ..
你的查詢應該是這樣的:
$values=DB::table('establishments')->select(['establishments.id',
DB::raw('SUM(invoice_rows.total_price) as total_price_sum')])
->join('invoices','invoices.establishment_id','=','establishments.id')
->join('invoice_rows','invoice_rows.invoice_id','=','invoices.id')
->where('invoice_rows.invoice_article_group_id',11)
->groupBy('establishments.id')
->orderByDesc('total_price_sum')->get();
請注意,您不能選擇establishments.*
然后僅按establishments.id
id 分組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.