我有一个"商店"包含各种位置的模型。每个商店的属性中包括"品牌"这就是承载。
示例:Store1,品牌:" Nike,Adidas,Polo&#34 ;; Store2,品牌:" Jcrew,Polo"
我希望能够选择品牌所包含的所有商店"阿迪达斯" (也可能包含其他品牌)
有些事情:
@search = Stores.where(brands: params[:brand])
但需要它
@search = Stores.where(brands.include? params[:brand])
显然不起作用
处理此问题的最佳方法是什么?
答案 0 :(得分:2)
如果brands
是字符串且params [:brand]包含单个品牌名称,则可以使用MySQL的LIKE功能:
@search = Stores.where(['BRANDS LIKE ?', "%#{params[:brand]}%"])
答案 1 :(得分:-3)
您可以使用以下语句执行此操作。
@search = Stores.where("brands = ?", params[:brand])
的清单11.43给出了一个类似的例子
您还应该注意,rails模型通常具有单一名称,即Store而不是Stores。