Ruby on rails 具有关联和多个条件的Rails where子句
因此,我有以下Ruby on rails 具有关联和多个条件的Rails where子句,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,因此,我有以下select语句: requests = Request.select { |x| (x.name_rel == user || x.customer_rel == user || x.users.include?(user)) 基本上,我正在尝试为单个用户获取所有请求,其中请求具有以下关系: belongs_to :name_rel, :class_name => "User", :foreign_key => 'name_id' belongs_to :c
select
语句:
requests = Request.select { |x| (x.name_rel == user || x.customer_rel == user || x.users.include?(user))
基本上,我正在尝试为单个用户
获取所有请求
,其中请求
具有以下关系:
belongs_to :name_rel, :class_name => "User", :foreign_key => 'name_id'
belongs_to :customer_rel, :class_name => "User", :foreign_key => 'customer_id'
has_and_belongs_to_many :users
我知道
select
是一种非常糟糕的方法,但我不确定如何让在哪里
进行如此复杂的操作。有人能给我指出正确的方向吗?您可以在如下条件下执行此操作
» Request.where("name_id = ? OR customer_id =? OR (name_id IN (?) && customer_id IN (?))", user, user, [ids], [ids])
您可以在如下条件下执行此操作
» Request.where("name_id = ? OR customer_id =? OR (name_id IN (?) && customer_id IN (?))", user, user, [ids], [ids])
谢谢你的帮助!谢谢你的帮助!