【发布时间】:2014-09-09 01:48:46
【问题描述】:
我有三个表,我试图在 Eloquent 中构建一个查询,以仅获取两个表中第三个表中不存在的行。
一个是表histories,它引用了另外两个表schedules 和templates。如果有模板计划历史记录,我不想获得该计划。
通常我希望这可以在 ID 为 IS NULL 的第三张表上使用 LEFT JOIN 来完成,但这在这种情况下不起作用。到目前为止,我尝试过的每个查询总是返回空列以及我不想要的行。
以下是相关架构和示例查询: http://sqlfiddle.com/#!2/28aad/5
如何构建我的查询以获得所需的结果?
【问题讨论】:
-
如果您想要没有相关历史记录的时间表,并且您正尝试使用反连接模式来获得它,它看起来像是在检查是否存在匹配的谓词 (@987654327 @) 应该在
WHERE子句中,而不是在外连接操作的ON子句中。
标签: mysql sql laravel-4 eloquent