私は、次の表があります。Laravel複雑なクエリ
料理
id
name
お客様
id
name
成分
をDishes_Ingredients(関係皿に入れて、テーブルや食材)
Customers_Allergic_Ingredients
id
dish_id
ingredient_id
は(顧客がに耐えられ
id
customer_id
ingredient_id
Customers_Intolerance_Ingredients(顧客が特定の成分にアレルギーがあります)特定の成分)
id
customer_id
ingredient_id
私は、データベースから以下の情報を入手する必要があります。与えられたcustomer_id
のために、私は顧客がLaravelクエリビルダを使用して、にアレルギーと不寛容にないないあるすべての料理を取得したいです。
これは私がこれまで試したものです:
$dishes = DB::table('dishes')
->join('dishes_ingredients', 'dishes.id', '=', 'dishes_ingredients.dish_id')
->join('customers_allergic_ingredients', 'dishes_ingredients.ingredient_id', '<>', 'customers_allergic_ingredients.ingredient_id')
->join('customers_intolerance_ingredients', 'dishes_ingredients.ingredient_id', '<>', 'customers_intolerance_ingredients.ingredient_id')
->where('customers.id', 1)
->select('dishes.id', 'dish_translations.name')
->get();
にアレルギーではない食材を使用したすべての料理は、あなたがこれまでにしようとしているものを私たちに示してください、あなたを与えるだろう。 –
StackOverflowは、少しでも試していない場合、複雑なソリューションを得る場所ではありません。最初にいくつかのトピック(SQL、PHP、Laravel)を学習してみてください...それがうまくいかない場合は、もう一度やり直してください...そしてその後、ここに来て質問をしてください... –
Plsはあなたの試みたコードを編集します。その後、私たちはあなたを助けることができるでしょう。 –