在 Doctrine 中获取具有多个关系的最后一个实体
Getting Last Entity with more than one Relation in Doctrine
我正在尝试获取我的最新实体,该实体具有多个图像实体作为 OneToMany 连接。
代码:
$qb->select("a")->from("album","a");
$qb->having("count(a.images) > 0");
$qb->orderBy("a.id","DESC");
$qb->setMaxResults(1);
错误:
Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message 'SELECT a FROM Album a HAVING count(a.images) > 0 ORDER BY a.id DESC' in ... /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:41 Stack trace:...
我发现错误在第二行,我也试过了$qb->where("count(a.images) > 0")
希望你能帮助我。如果您需要更多信息,请告诉我。
编辑:
我现在也尝试添加 groupBy 语句并将图像加入相册
$qb->select("a")->from("album","a")->join("a.images","i");
$qb->groupBy("a.id")->having("count(a.images) > 0");
$qb->orderBy("a.id","DESC");
$qb->setMaxResults(1);
所以我刚刚找到答案:
$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
!
我正在尝试获取我的最新实体,该实体具有多个图像实体作为 OneToMany 连接。
代码:
$qb->select("a")->from("album","a");
$qb->having("count(a.images) > 0");
$qb->orderBy("a.id","DESC");
$qb->setMaxResults(1);
错误:
Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message 'SELECT a FROM Album a HAVING count(a.images) > 0 ORDER BY a.id DESC' in ... /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:41 Stack trace:...
我发现错误在第二行,我也试过了$qb->where("count(a.images) > 0")
希望你能帮助我。如果您需要更多信息,请告诉我。
编辑:
我现在也尝试添加 groupBy 语句并将图像加入相册
$qb->select("a")->from("album","a")->join("a.images","i");
$qb->groupBy("a.id")->having("count(a.images) > 0");
$qb->orderBy("a.id","DESC");
$qb->setMaxResults(1);
所以我刚刚找到答案:
$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
!