在Doctrine中获取具有多个关系的最后一个实体

时间:2017-04-13 09:54:33

标签: php doctrine-orm query-builder

我正在尝试将具有多个Image Entity的最新实体作为OneToMany连接。

守则:

cordova

错误:

  

致命错误:未捕获的异常' Doctrine \ ORM \ Query \ QueryException'消息'选择一个FROM专辑a a HAVING count(a.images)> 0订购a.id DESC' in ... /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:41堆栈追踪:......

我认为错误在第二行,我也尝试了$qb->select("a")->from("album","a"); $qb->having("count(a.images) > 0"); $qb->orderBy("a.id","DESC"); $qb->setMaxResults(1);

我希望你能帮助我。如果您需要任何进一步的信息,请告诉我。

修改

我还尝试添加groupBy Statement并将图像加入相册

$qb->where("count(a.images) > 0")

1 个答案:

答案 0 :(得分:0)

所以我刚刚找到答案:

$qb->select("a")->from("album","a")->join("a.images","i");
$qb->groupBy("a.id")->having("count(i.id) > 0");
$qb->orderBy("a.id","DESC");
$qb->setMaxResults(1);

使用i.id而不是a.images非常重要!