我在 where 有一个包含多个 OR 的查询。
我遇到的问题是在结果中标记行,这样我就可以知道每个结果的来源。
例如:
select * from people where age>10 or weight>100 or status in ('active','paying','dead')
所以这将返回一个人员列表。
在结果中迭代该人员列表时,我需要知道为什么该特定人员在结果集中。
因此,如果我可以用一个理由“标记”或“标记”每个结果,我可以执行以下操作:
if (person.reason=="age") then do something...
和
if (person.reason=="active") then do something else...
在迭代结果时,我不想再次从查询中复制逻辑(查询是动态构建的,可能会变得非常复杂)。
这可能吗?
(顺便说一句,我正在使用 Doctrine 在 PHP 中执行此操作)