我使用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
我想把它改成la la la雄辩
但我仍然感到困惑
我该怎么做?
答案 0 :(得分:1)
如果您的查询是复杂的,您可以像RAW
一样审查$data = DB::select(DB::raw('your query here'));
查询语法
public string e1 { get; set; }
它将在指定的表上触发原始查询并返回结果集(如果有)。
答案 1 :(得分:0)
如果您有产品型号,则可以运行
$products = Product::where('status', 1)
->where('stock', '>', 0)
->where('category_id', '=', 5)
->groupBy('store_id')
->orderBy('updated_at', 'desc')
->take(4)
->get();
我认为这应该会给你相同的结果,因为你从派生表中提取所有内容。