0
votes

Rails Activerecord récupérant les données associées avec deux associations HAS_MANY

Disons que vous avez un License MODÈLE QUI HAS_MANY:: Sièges et le siège modèle modèle has_many :: clients .

Ce que je veux revenir, c'est un objet Activerecord de tous les clients sur une licence . Y a-t-il un moyen de faire cela?

J'ai une solution Licence.Seats.Inclut (: clients) .FLAT_MAP (&: clients) Mais cela retournera un objet de tableau qui n'est pas ce que je cherche.

Merci pour votre aide!


0 commentaires

3 Réponses :


1
votes

joint code> fait le travail:

Customer.joins(:seat).where(seats: { licence_id: licence.id })


0 commentaires

6
votes

Utilisez has_many via l'option:

licence.customers


2 commentaires

Pouvez-vous s'il vous plaît expliquer cela, comme je ne peux pas comprendre comment cela fonctionnerait-il, car sièges n'est pas une tablette intermédiaire pour établir association entre Licences et clients . :)


@GABBAR The HAS_MANY: Par l'association est également utile pour la mise en place de "raccourcis" par les associations HAS_MANY imbriquées. Guides.RubyonRails.org/.../a>



0
votes

au lieu d'utiliser des jointures / inclut cela peut être efficace pour les gros enregistrements.

licence.customers


0 commentaires