2013-04-26 2 views
0

В модели пользователя существует отношение has_one к профессионалу. В профессиональной модели у меня есть одно поле Array, называемое отраслями.Rails mongoid has_one запросы

мне нужно принимать все значения, где профессиональные отрасли в «IT»

Я попытался User.where(:"professional.industries".in => ["IT"])

но не работает. Любые sugestions .. ??

+1

, что это точка с NoSQL. Ваши отношения могут работать только в том случае, если модели были встроены. – apneadiving

+0

@apneadiving: Oh. это.? Это не сработает для has_many.! Только для обложек .. OKie .. Получил это .. Спасибо, человек ... – Jyothu

ответ

0

Для того, чтобы ваш запрос работать, вы должны использовать

class User 
     embeds_one :professional 
    end 

Если вы уверены, что Professional должна быть отдельная коллекция, вы можете использовать что-то вроде:

uids = Professional.where(:"industries".in => ["IT"]).distinct(:user_id) 
    users = User.where(:_id.in => uids) 
+0

Я уже использовал эту логику, я просто проверял Если мы сможем использовать One Query для этой цели. В любом случае спасибо за ответ – Jyothu

Смежные вопросы