我试图将子查询的结果作为基于其关系的1或0的列。
这也是一个沉重的报告,所以我想在初始查询后避免额外的查询。
DB::raw('EXISTS(
SELECT 1
FROM issues
WHERE time.id = issues.parent_id
AND parent_type = \'' . TimeRecord::class . '\'
AND deleted_at IS NULL
) AS flagged')
查询的其余部分可以工作,即使这仍然有效(即使对于应该为1的行,也总是为0。
我没有找到像这样使用的EXISTS
的任何实例,但我没有找到任何用作列的替代方法。
答案 0 :(得分:1)
你试过COUNT
吗?
SELECT COUNT(*)
FROM issues
WHERE time.id = issues.parent_id
AND parent_type = \'' . TimeRecord::class . '\'
AND deleted_at IS NULL