bonjour,
j'ai un probleme avec le query builder de laravel, je ne comprends pas pourquoi ça ne fonctionne pas.

J'ai 3 tables(salades, ingredients ,salade_ingredient(pivot relation n:n)

sql query(fonctionne):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 select distinct ingredients.nom
 from ingredients, salade_ingredient,salades
 where salade_ingredient.salade_id = 22
 and ingredients.id = salade_ingredient.ingredient_id
laravel query (error :SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'ingredients' (SQL: select `ingredients`.`nom` from `ingredients` inner join `salade_ingredient` on `salade_id` = `$Salade["id"]` inner join `ingredients` on `ingredients`.`id` = `salade_ingredient`.`ingredient_id` inner join `salades` on `salade`.`id` = `salade_ingredient`.`salade`.`id`)):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$Ingredients = DB::table('ingredients')
            ->select('ingredients.nom')
            ->join('salade_ingredient', 'salade_id', '=','22')
            ->join('ingredients', 'ingredients.id', '=', 'salade_ingredient.ingredient_id')
            ->join('salades','salade.id','=','salade_ingredient.salade_id')
            ->get()->distinct();
Pouvez vous m'aider? je débute avec laravel. merci