Ho una tabella suppliers e una tabella categories, relazione molti a
molti, tra esse la tabella di join categories_suppliers.
Voglio ricercare tutti i suppliers appartenenti ad una certa categoria.
Il comando che do e’: @suppliers = Supplier.find(:all, :include =>
:categories, :conditions => [‘category_id = ?’,
params[:category_id]]).
Mi da errore perche’ dice di non trovare la colonna category_id.
La select risultante e’: SELECT * FROM “suppliers” WHERE (category_id =
NULL).
Mi sembra che l’opzione include della find non venga presa in
considerazione perche’ la select risultante non e’ quella corretta.
Il 21 febbraio 2009 15.21, Mauro [email protected] ha scritto:
Ho una tabella suppliers e una tabella categories, relazione molti a
molti, tra esse la tabella di join categories_suppliers.
Voglio ricercare tutti i suppliers appartenenti ad una certa categoria.
@category.suppliers
dà tutti i suppliers per quella categoria.
se vuoi restringere la ricerca, fai:
@category.suppliers.find :all, :conditions => …
similmente, @supplier.categories ti dà tutte le categorie per quel
fornitore.
pietro