2017-05-04 6 views
0

私はlaravel 5.3ララベルの雄弁をセレクトするにはどうしたらいいですか?

私のSQLクエリは次のようである使用:私はlaravel雄弁

ようにそれを変更したいが、どのようにすることができ、私はまだ

混乱している

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 

をそれ?場合によっては

答えて

1

あなたのクエリはあなたのようなRAWクエリ構文をlaravelできる複合体にある:

$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'は実行されません –

関連する問題