簡體   English   中英

Laravel 原始總和查詢到 Laravel 查詢構建器

[英]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 文檔中的joinRaw ..

你的查詢應該是這樣的:

   $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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM