如何获取不加倍的记录?

时间:2013-01-30 16:09:00

标签: mysql ruby-on-rails ruby-on-rails-3

我有三个模型,例如CommunityTaggingTag

  • 社区belongs_to :tag

  • 标记has_one :community< = taggable_id将为社区ID

  • 标记belongs_to :tag

  • 标记has_many :taggings #Tagg具有'name'属性

这是我的代码

@communities = Community.joins(taggings: :tag).where(tags: { name: params[:tag] }).page(params[:page]).order("cached_votes_up DESC")

但是,在结果页面中,如果社区在标签中同时包含“APPLE”和“apple”,则会显示2个相同的社区记录。

即使社区在小写字母和大写字母中都有相同的标记,我怎样才能让它只显示结果中的1条记录?

1 个答案:

答案 0 :(得分:1)

我回答了类似的问题。你是同一个人吗?无论如何,这将有效:

@communities = Community.joins(taggings: :tag).where(['binary(tags.name) = ?', params[:tag]]).page(params[:page]).order("cached_votes_up DESC")