У меня есть проект Rails 4.2, Mongoid 4 с этими моделями:
class Customer #aka Company
include Mongoid::Document
has_many :branches
end
class Branch
include Mongoid::Document
field :name, type: String, default: ""
belongs_to :customer
end
Я хочу найти всех клиентов (также известных как компании), у которых есть филиал с названием «Нью-Йорк». Я думаю, что этот код будет работать:
branches = Branch.where(name: "New York").map(&:_id)
=> [BSON::ObjectId('54f76cef6272790316390100')]
Customer.where(:branch_ids => branches).entries
Однако он всегда возвращает пустой массив, независимо от того, что я пытаюсь сделать. Вместо branch_ids
я также пробовал branches
, branch
, branches_id
и другие, но безрезультатно. Я также пытался преобразовать BSON::ObjectID
в обычный string
, но это тоже не работает.
Итак, как я могу искать модель на основе массива идентификаторов ассоциаций? Спасибо.
branch_ids
, но есть метод. Я просто не знаю, можете ли вы искать с помощью метода. 11.03.2015