У данного Car
есть много features
, которые соединены через listed_features
. Как я могу найти все cars
, у которых есть features
с ids
1
И 2
И 3
? cars
может иметь больше features
, но они должны иметь первые три features
.Где с has_many через
начальной установки:
rails g model Car name:string
rails g model Feature name:string
rails g model ListedFeature car:references feature:references
приложение/модели/car.rb
class Car < ActiveRecord::Base
has_many :listed_features
has_many :features, through: :listed_features
end
приложение/модели/listed_features.rb
class ListedFeature < ActiveRecord::Base
belongs_to :car
belongs_to :feature
end
приложение/модели/featur es.rb
class Feature < ActiveRecord::Base
end
Это гарантирует, что автомобиль имеет функции 1 и 2 и 3? 'id: id_list' будет в основном делать 1 или 2 или 3, а счетчик только гарантирует, что есть три функции. Не соответствует ли автомобиль с функциями 3,4,5? – Mischa
Это количество строк в таблице функций, которые имеют эти идентификаторы и которые присоединяются к строке таблицы автомобилей. Поэтому автомобили будут возвращены, если у них есть хотя бы необходимые функции. присутствие любых других функций игнорируется. –
А, да, теперь я вижу. Благодарю. – Mischa