当我尝试通过内部连接过滤查询时,我遇到了奇怪的 Doctrine 1 行为。
Doctrine 试图通过条件“其中 id 在(...ids 对应于我的其他条件...)”来重载我的内部连接过滤。看起来 Doctrine 执行我的查询,获取根 ID 并基于它添加这个奇怪的条件。
这给我带来了很大的问题,因为有时它会添加“其中 id 为 NULL”的条件,该条件会从结果中删除所有数据。
通过一些尝试,我意识到这种奇怪的 Doctrine 行为会触发一个过滤我的数据的内部连接。
有谁知道为什么 Doctrine 添加了这个条件,我能做些什么来避免它?
======更新======
我做了更多的研究,发现这个奇怪的 whereIn 条件是通过使用 limit() 触发的。