如何在symfony Prople中实现UNION查询


How to Implement UNION query in symfony Prople

我正在使用symfony v.1.4.6(Propel)&php 5.2.6

我遇到了一个具有挑战性的情况,我必须在symfony Propel中实现以下查询我在谷歌上搜索了很多,但我没能找到在推进中实现UNION的完美解决方案

SELECT top 5000 filetable.sha2, finalhash.ihash FROM filetable (nolock)
JOIN finalhash (nolock) ON (filetable.finalhash_id=finalhash.id)
WHERE (
    finalhash.ihash ='1FDE08EACCC5B247026D1D3A71DDD3846E31095D3A852CCFCDF3B7EAC00FD6D1' 
) 
UNION ALL
SELECT top 5000 filetable.sha2, finalhash.ihash FROM filetable (nolock)
LEFT JOIN finalhash (nolock) ON (filetable.finalhash_id=finalhash.ID)
WHERE (
    filetable.sha2='1FDE08EACCC5B247026D1D3A71DDD3846E31095D3A852CCFCDF3B7EAC00FD6D1'
) 

请指导我并给出在symfony Propel:/中实现上述查询的建议

谢谢大家!

据我所知,Propel并没有像您(以及我)所希望的那样支持UNION。您可以在Propel中进行两个单独的查询,并在php端进行联合,或者尝试使用Criteria实现您想要的功能。

检查这些类似的问题:

  • 推进ORM联合查询
  • 带推进ORM的联合查询
  • 使用推进的复杂查询