我正试图找回有多种便利设施的房产。
但是表格结构是:属性在property表格中,便利设施与属性相关。
便利设施表有:

id property_id amenity_name ....

现在我想搜索有“停车场”和“电梯”等设施。
select property_id from amenities where name = 'parking' and name = 'elevator';

我不想为此启动联接查询。
在这种情况下有人能救我吗?

最佳答案

试试这个-:

   scope :amenity_type, lambda {|term|
          where("amenities.name" => term).joins(:amenities).group("amenities.property_id").having("count(amenities.name) >= #{term.size}") unless term.blank?
   }

09-20 09:59