C'est probablement un titre terrible, mais voilà.Chargement des données associées dans une seule requête
J'ai deux modèles, article et catégorie. C'est une relation plusieurs-à-plusieurs (les éléments peuvent appartenir à plusieurs catégories, les catégories peuvent contenir plusieurs éléments).
Quelle est la meilleure façon de rechercher (par exemple par 'nom') la liste des catégories et de trouver tous les éléments qui y sont inclus? Si j'utilisais SQL, je ferais quelque chose comme ce qui suit:
SELECT * FROM items
WHERE category_id in (
SELECT id FROM category
WHERE name IN ('cat1', 'cat2', 'cat3')
)
ou quelque chose, mais je voudrais le faire d'une manière Railsy si possible.
Merci!
Pas bon - Je commence avec une liste des "noms", et non pas les ID. Les identifiants ont besoin de chercher en premier - assez facile si nous utilisons deux requêtes distinctes, mais j'espère pouvoir le faire avec un. – user1381745
J'ai mis à jour la réponse – Rafal
SQLite3 :: SQLException: pas une telle colonne: category.name: SELECT "articles". * FROM "éléments" WHERE (category.name IN ('musique')) - le résultat de ce code. Edit: changer comprend les jointures le fixe :) Merci à vous et user229688. – user1381745