Ricerca su tabells in habtm


#1

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.


#2

Il 21 febbraio 2009 15.21, Mauro removed_email_address@domain.invalid 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