2
我有一个名为Shops的模型叫做品牌属性,品牌是一个文本字段并包含多个品牌。我想要做的是选择所有独特的品牌,并按照字母顺序排列显示它们选择完全不同的有效记录
@brands = Shop.all(:select => 'distinct(brands)')
该怎么办?
我有一个名为Shops的模型叫做品牌属性,品牌是一个文本字段并包含多个品牌。我想要做的是选择所有独特的品牌,并按照字母顺序排列显示它们选择完全不同的有效记录
@brands = Shop.all(:select => 'distinct(brands)')
该怎么办?
如果Shop#brands
可以容纳例如多次价值观:“罗尼,HOKE,FIKE”,那么我可以勉强建议做这样的事情:
@brands = Shop.all(:select => 'brands').each { |s|
s.brands.split(',').map { |b|
b.strip.downcase
}
}.flatten.uniq.sort
但,你真的应该考虑一下你的数据在这里模式来防止这种骇客。你鼓励将品牌打入自己的表格+模型,并与Shop
进行多对多的关系。
感谢jits,是的,你是绝对正确的,这是一个不好的道路。我会按你的建议去做。 – andkjaer 2011-06-03 11:48:56
“Shop#品牌”字段可以包含多个品牌:“rony,hoke,fike”。或者它只是一个单一的价值。 – Jits 2011-06-03 11:27:56