如果我有一个具有多个关系的Case模型,我该如何创建一个匹配一个或多个关系的查询。
示例:Case具有名称的公司。 Case还有很多会话都有回应。我想创建一个查询,我可以搜索其中一个或多个匹配(公司名称和/或会话响应)。如果没有公司,但会话响应匹配,则应该返回,反之亦然。
实现这一目标的最佳方式是什么?
答案 0 :(得分:0)
您可以执行以下操作:
sql_cond = 'companies.id IS NOT NULL OR sessions.id IS NOT NULL')
Case.includes(:company, :sessions).references(:company, :session).where(sql_cond)
它将返回至少有1 Case
OR Company
条记录的Session
条记录。