IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

laravel query builder


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Août 2015
    Messages : 12
    Points : 9
    Points
    9
    Par défaut laravel query builder
    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

  2. #2
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut, et comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $Ingredients = DB::table('ingredients')
                ->distinct()
                ->select('ingredients.nom')
                ->join('salade_ingredient', 'ingredients.id', '=', 'salade_ingredient.ingredient_id')
                ->join('salades','salade.id','=','salade_ingredient.salade_id')
                ->where('salade_ingredient.salade_id', '=', 22)
                ->get();

Discussions similaires

  1. [5.1] Requête et sous requête avec query builder et laravel
    Par PIEPLU dans le forum Laravel
    Réponses: 1
    Dernier message: 01/11/2015, 14h28
  2. Laravel - query builder - sous requete dans la meme table
    Par yataglanzy dans le forum Laravel
    Réponses: 5
    Dernier message: 31/10/2015, 12h42
  3. Réponses: 3
    Dernier message: 20/06/2007, 15h31
  4. Réponses: 2
    Dernier message: 04/06/2007, 17h38
  5. Comment configurer active query builder
    Par davos56 dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/04/2007, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo