2017-05-04 89 views
0

我用laravel 5.3如何在laravel雄辯上選擇?

我的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雄辯

但我仍然感到困惑

我怎樣才能做它?

回答

1

在情況下,當你的查詢是複雜的,你可以laravel RAW查詢語法,如:

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

這將觸發對指定表的原始查詢並返回結果集,如果有的話。

Reference

0

如果你有產品型號,您可以運行

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

我想這應該給你相同的結果,因爲你拉一切從你的派生表。

+0

我認爲在他的問題點是如何獲得選擇內部的選擇,而不是內部選擇的錯綜複雜。 – Amarnasan

+0

@EddyTheDove,它的工作原理。但是,'order by'沒有執行 –