在连接表上指定条件,如何和嵌套条件?

时间:2015-01-02 06:42:40

标签: ruby-on-rails activerecord

结果有许多安装。

我想查找包含tool_id 123 tool_id的安装的所有结果以及456 tool_id的安装。

我知道以下内容为我提供了使用123 Result.includes(:installations).where(installations: {tool_id: 123}) 进行安装的所有结果:

where

所以我试图链接另一个Result.includes(:installations).where(installations: {tool_id: 123}).where(installations: {tool_id: 456}) ,但它不起作用:

{{1}}

正确执行此操作的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

Result.includes(:installations).where(' installations.tool_id in(?),',[123,456])

答案 1 :(得分:0)

我最终使用找到一个然后另一个然后使用&。它有效,但我不认为这是最好的方法。

Result.includes(:installations).where(installations: {tool_id: 123}) & Result.includes(:installations).where(installations: {tool_id: 456})