新手问题 Rails 数据库查询 joins 数据重复的问题

yeyong14 · 2013年12月24日 · 最后由 leomayleomay 回复于 2013年12月24日 · 3075 次阅读

Rails 版本 3.2.13

有两个模型 product, productnumbers

#product
class Product < ActiveRecord::Base
  has_many :productnumbers
end

#productnumebr
class Productnumber < ActiveRecord::Base
  attr_accessible :name, :product_id
  belongs_to :product
end

#controller 
class Productscontroller < ApplicationController
#
#
def search
  @products = Product.joins(:productnumbers).where("title like ? or productnumbers.number like ?",'%'+params[:q]+'%', '%'+params[:q]+'%').order("id desc").paginate(page: params[:page], per_page: 12)
end

这样当查询product的时候。就会重复显示多个products。有多少个productnumbers就会显示多个products。 这个要怎么处理,就让显示一次,不要重复显示!

@Rei 谢谢。搞定!

left join 啊.uniq 就太蛋疼了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号