在使用Eloquent ORM和Laravel查詢建構器時,您可能會遇到需要根據子查詢檢索資料的場景。本問探討如何有效率地使用Laravel查詢建構器從子查詢中選擇資料。
如提供的程式碼範例中所述,最初的方法是使用多個查詢建構器來建立和執行子查詢。但是,用戶尋求更簡單有效的解決方案。
最佳方案不是使用多個鍊式查詢建構器,而是使用FROM
子句中的原始SQL語句。這允許您直接在Laravel查詢中表示子查詢:
<code class="language-php">$sql = Abc::where(...)->groupBy(...)->toSql(); $num = DB::table(DB::raw("($sql) AS sub"))->count(); print $num;</code>
儘管此解決方案有效地從子查詢中選擇數據,但請務必考慮以下幾點:
改進後的解決方案提供了一種更簡單、更有效率的方法來使用Laravel查詢建構器從子查詢中選擇資料。透過在FROM
子句中包含原始SQL並仔細處理查詢綁定,您可以簡潔有效地實現所需的資料檢索。
以上是如何使用 Laravel 的查詢產生器有效率地從子查詢中選擇資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!