【发布时间】:2017-12-29 21:32:16
【问题描述】:
我下面的活动记录语句工作正常:
Requirement.where(no: 0)
Requirement.yes_no.or(Requirement.where.not(parent_req: nil))
在需求模型中,我有一个 enum 字段,它也可以正常工作:
enum response_type: { yes_no: 0, document: 1, interviewee: 2, sample_set: 3, brief_desc: 4 }
但是当我结合以上两个语句时:
Requirement.where(no: 0).where(Requirement.yes_no.or(Requirement.where.not(parent_req: nil)))
它给了我错误:
ArgumentError: Unsupported argument type: #<Requirement::ActiveRecord_Relation:0x005567c7c9bf88> (Requirement::ActiveRecord_Relation)
我希望运行以下查询:
SELECT `requirements`.*
FROM `requirements`
WHERE `requirements`.`no` = 0
AND (`requirements`.`response_type` = 0
OR (`requirements`.`parent_req` IS NOT NULL))
【问题讨论】:
-
应该是
merge? -
Requirement.where(no: 0).merge(Requirement.yes_no.....) -
是的,它奏效了。谢谢!
标签: ruby-on-rails ruby activerecord