簡體   English   中英

如何在laravel上進行雄辯的選擇?

[英]How can I make select in select on laravel eloquent?

我使用laravel 5.3

我的SQL查詢是這樣的:

SELECT * 
FROM (
    SELECT *
    FROM products 
    WHERE `status` = 1 AND `stock` > 0 AND category_id = 5
    ORDER BY updated_at DESC
    LIMIT 4
) AS product
GROUP BY store_id

我想將其更改為Laravel雄辯

但是我還是很困惑

我該怎么做?

在查詢復雜的情況下,您可以使用laravel RAW查詢語法,例如:

$data = DB::select(DB::raw('your query here'));

它將在指定的表上觸發原始查詢,並返回結果集(如果有)。

參考

如果您具有產品模型,則可以運行

$products = Product::where('status', 1)
->where('stock', '>', 0)
->where('category_id', '=', 5)
->groupBy('store_id')
->orderBy('updated_at', 'desc')
->take(4)
->get();

我認為這應該給您相同的結果,因為您從派生表中提取了所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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