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

Laravel PHP Discussion :

[Laravel 7] Récupérer des données via une table non présente dans. ma requête SQL


Sujet :

Laravel PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut [Laravel 7] Récupérer des données via une table non présente dans. ma requête SQL
    Bonjour,

    J'ai écris une requête SQL qui récupère des informations dans plusieurs tablas à partir de l'id d'une plante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $informations_plante = DB::table('herbs')
                ->select('herbs.name as hname', 'herbs.sciname', 'herbs.id as herbid','hinteractions.id as hinteractionid','hinteractions.note as hinteractionnote','hinteractions.force_id','targets.name as targetname', 'forces.name as force_name')
                ->leftJoin('hinteractions', 'herbs.id', '=', 'herb_id')
                ->leftJoin('forces', 'forces.id', '=', 'force_id')
                ->leftJoin('targets', 'targets.id', '=', 'hinteractions.target_id')->where('herbs.id', $id)
                //add here a subquery to select effects.name from hinteractions_has_effects with hinteractions.id
                ->get();
    La requête générée me donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select `herbs`.`name` as `hname`, `herbs`.`sciname`, `herbs`.`id` as `herbid`, `hinteractions`.`id` as `hinteractionid`, `hinteractions`.`note` as `hinteractionnote`, `hinteractions`.`force_id`, `targets`.`name` as `targetname`, `forces`.`name` as `force_name` from `herbs` left join `hinteractions` on `herbs`.`id` = `herb_id` left join `forces` on `forces`.`id` = `force_id` left join `targets` on `targets`.`id` = `hinteractions`.`target_id` where `herbs`.`id` = 6
    et le résultat obtenu est le suivant :

    Nom : Capture d'écran 2020-05-23 21.04.13.png
Affichages : 747
Taille : 183,5 Ko

    J'aimerais afficher le nom effects qui se trouvent dans cette table :

    Nom : Capture d'écran 2020-05-23 21.06.37.png
Affichages : 798
Taille : 745,5 Ko

    En passant par cette table (j'ai l'id des hinteractions) :

    Nom : Capture d'écran 2020-05-23 21.07.37.png
Affichages : 795
Taille : 331,1 Ko

    Je ne vois pas comment je peux faire avec la requête SQL ci-dessus.

    Est-ce que je dois ajouter une sous-requête ?

    Merci d'avance pour l'aide.
    Images attachées Images attachées  

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Juste une question, tu es capable de faire cette recherche via une requête SQL classique dans PhpMyAdmin ?

  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Tu n'utilises pas les liaisons de modeles dans eloquent ?
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/10/2015, 08h43
  2. Récupérer des données d'une table dans l'analyse
    Par adnan el dans le forum WinDev
    Réponses: 1
    Dernier message: 22/05/2014, 12h31
  3. Réponses: 1
    Dernier message: 26/08/2013, 17h24
  4. Récupérer des données d'une table "étrangère"
    Par surf-max dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/06/2010, 10h25
  5. [MySQL] récupérer des données depuis une table mysql
    Par godbless dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/10/2008, 13h04

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