Laravel 5

Relation à critère multiple

  • Avatar de Artemis-Lhow
    Membre depuis :
    17/05/2019
    Messages :
    15

    Hey !

    J'ai (encore) un soucis de relation... je souhaiterai récupèrer les enregistrement d'une table correspondant à deux critères particuliers. En gros, j'aimerai faire une requête comme celle-ci, mais avec le système de relation de LARAVEL !

    SELECT * FROM inscriptions, paiements WHERE paiements.id_adherent = inscriptions.id_adherent AND id_atelier = inscriptions.id_atelier

    Une idée de la bonne méthode ?

    D'avance merci !

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2524

    Salut,

    id_atelier est dans quelle table ?

    D'autre part tu veux apparemment faire une jointure entre les deux tables, avec une syntaxe WHERE ça fait longtemps que je n'avais plus vu ça...

  • Avatar de TechNov
    Membre depuis :
    31/01/2015
    Messages :
    12

    Avec Query builder:::

    $result=DB::table('inscriptions')
    ->join('paiements', 'paiements.id_adherent' , ' =', 'inscriptions.id_adherent')
    ->where('id_atelier ' ' inscriptions.id_atelier');
    PS: Laravel 5.5, pas testé
  • Avatar de Artemis-Lhow
    Membre depuis :
    17/05/2019
    Messages :
    15

    @bestmomo :

    id_atelier se trouve dans les deux tables justement, tout comme id_adherent... en fait il me faudrait une relation qui récupère les données des deux tables seulement quand les deux champs sont identiques d'une table à l'autre :)

    C'est pas très esthéthique la façon dont j'ai syntaxé ça plus haut, mais c'est simplement pour que la demande soit comprise :)

    @TechNov :

    Avec Query Builder ça devrait effectivement fonctionner sans soucis, mais je préfèrerai passer par une relation si c'est possible :3

    Merci pour vos réponses à tous les deux ! :D

Vous ne pouvez pas répondre à ce sujet.