#以下のSQLをEloquentで組み立てたい
SQL
1select * from fruit_params 2where fruit_id in ( 3 select fruit_id from ( 4 select fruit_id, count(fruit_id) as count 5 from fruit_params 6 where value in ('Japan', 'Aomori', 'Ehime', 'Red') 7 group by fruit_id 8 ) 9 where count = 3 10)
#元となっているテーブル
以下の質問が今回のテーブルです。
元質問にてご回答を頂いたのですが、Eloquentでの組み立て方がわからず現在困っています。
お手数ですが、おわかりの方いらっしゃいましたら、具体的なコードなどのご指導をお願い致します。
#現在のコード
以下のようなコードを現在書きました。
しかし、もう1階層分のSELECTがどのようにすれば良いのか、分からない状態です
PHP
1 $query = FruitParam::whereIn('fruit_id', function ($query){ 2 $query->select('fruit_id') 3 ->from('fruit_params') 4 ->select('fruit_id', DB::raw('count(fruit_id) as count')) 5 ->whereIn('value',['Japan', 'Aomori', 'Ehime', 'Red']) 6 ->groupBy('fruit_id'); 7 })->toSql();
SQL
1select * from "fruit_params" where "fruit_id" in (select "fruit_id", count(fruit_id) as count from "fruit_params" where "value" in (?, ?, ?, ?) group by "fruit_id")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。