复杂的AR查询,其中第一列是否等于另一列的值?

时间:2015-05-06 22:25:43

标签: mysql ruby-on-rails activerecord

我已经在下面写了AR查询,但是在where子句中遇到了一个问题。在Payout模型上有一个comp_builder_idcomp_builder_id上还有一个ContractLevel

我想在此查询中添加一个where子句,以获取Payout模型comp_builder_id等于ContractLevel模型{{{{{{{ 1}}。

comp_builder_id

如何在Active Record中完成?在最后几个我引用不同变量的where子句中,可以忽略这些变量,因为这个查询只是一个片段。

1 个答案:

答案 0 :(得分:2)

您可以将字符串传递给where语句:

User.include(:parent).where('users.parent_id = parents.id')

基本上,如果你知道你想在原始SQL中使用where语句,那么你可以将它作为字符串传递给where语句。

这是我所知道的在ActiveRecord中复杂where语句的唯一方法。

请务必记住您需要引用列名,而不是模型名称。