多个关联使用NOT运算符连接查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多个关联使用NOT运算符连接查询相关的知识,希望对你有一定的参考价值。

我有以下Rails查询,它很有用: -

@basic = Pay.joins(:ee_pay => :company_pay).where(:pays => {pay_line_id: current_pay_line.id, pay_sub_head_id: 1}, :company_pays => {:description => 'Salary'}).first

我现在正在尝试编写NOT等价物,但是我的失败很糟糕。我认为这会起作用,但它一直给我错误: -

@other_pay = Pay.joins(:ee_pay => :company_pay).where(:pays => {pay_line_id: current_pay_line.id, pay_sub_head_id: 1}, :company_pays => {('description != ?', "Salary")})

还尝试了这个和其他一些变化: -

@other_pay = Pay.joins(:ee_pay => :company_pay).where(:pays => {pay_line_id: current_pay_line.id, pay_sub_head_id: 1}).where(:company_pays => ['description != ?', "Salary"])

谁能告诉我如何在多关联连接查询中放置NOT运算符?

答案

您可以在Rails 4中尝试使用.not()

@other_pay = Pay.joins(ee_pay: :company_pay)
                .where(pays: {pay_line_id: current_pay_line.id, pay_sub_head_id: 1})
                .where.not(company_pays: {description: "Salary"})

以上是关于多个关联使用NOT运算符连接查询的主要内容,如果未能解决你的问题,请参考以下文章

如何使用实体框架关联来自多个上下文的对象

与 Rails 的多个关联已审核

如何创建一个具有多个 ViewController 可以使用的关联视图类的 Nib

AS关联多个远程仓库(git的使用)

在一个模型上使用多个 has_many 关联

Rails 3 - 多个关联