Busqueda en el has_and_belongs_to_many

hola lista
tengo una relacion has_and belongs to many entre empresas y mercados en
la tabla empresas_mercados tengo empresas_id y mercados_id

donde mercados_id se repite es decir
35 – 1
36 – 1
40 – 2
5 – 2

estoy haciendo esto

@mercados << empre.mercados

esto me crea un vector que despues yo recorro y quito los indices
repetidos, pero no hay una forma mas optima en el
has_and_belongs_to_many para quitar los repetidos

es que si el vector se me hace muy grande es un fastidio ya que tarda
mas.

gracias

El 13 de agosto de 2008 20:20, Maite P. <
[email protected]> escribió:

hola lista
tengo una relacion has_and belongs to many entre empresas y mercados en
la tabla empresas_mercados tengo empresas_id y mercados_id

hola Maite, una observación, supongo que estarás empleando el singular
en la
tabla intermedia. Esto es, debe ser una tabla “empresas_mercados” con
campos
“empresa_id” y “mercado_id”.

esto me crea un vector que despues yo recorro y quito los indices
repetidos, pero no hay una forma mas optima en el
has_and_belongs_to_many para quitar los repetidos

No entiendo el problema… si tienes la tabla intermedia como te he
dicho
antes, y en los modelos:

empresa has_and_belongs_to_many :mercados

y

mercado has_and_belongs_to_many :empresas

Ya deberías poder hacer @empresa.mercados para coger todos los mercados
de
una empresa, @mercado.empresas para coger todas las empresas de un
determinado mercado…

Quizá lo que quieres es coger todos los mercados en global? Pues
Mercado.find(:all), no?

es que si el vector se me hace muy grande es un fastidio ya que tarda
mas.

Lo dicho, que no te sigo :slight_smile: