如何使用Doctrine2 Query Builder伪函数对象?

时间:2012-05-12 01:45:37

标签: symfony doctrine-orm

阅读Query Builder的Doctrine2文档,我找到了以下表达式:

// Example - $qb->expr()->exists($qb2->getDql())
public function exists($subquery); // Returns Expr\Func instance

// Example - $qb->expr()->all($qb2->getDql())
public function all($subquery); // Returns Expr\Func instance

// Example - $qb->expr()->some($qb2->getDql())
public function some($subquery); // Returns Expr\Func instance

// Example - $qb->expr()->any($qb2->getDql())
public function any($subquery); // Returns Expr\Func instance

但是在文档中没有关于它们如何工作的例子,除了它们在每行上面的评论之外没有解释太多。

有人可以解释一下如何在查询中使用它们吗?

1 个答案:

答案 0 :(得分:3)

我找到了这些信息,所以我正在回答我自己的问题,以防其他人感兴趣。

这些表达式映射到它们对应的EXISTS,ALL,SOME和ANY的数据库实现。找到MySQL的文档here表示“EXISTS”和“NOT EXISTS”,here表示“ANY”,“IN”和“SOME”;和here表示“全部”。