【问题标题】:Getting Last Entity with more than one Relation in Doctrine在 Doctrine 中获得具有多个关系的最后一个实体
【发布时间】:2017-04-13 09:54:32
【问题描述】:

我正在尝试获取我的最新实体,该实体具有多个图像实体作为 OneToMany 连接。

代码:

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

错误:

致命错误:未捕获的异常 'Doctrine\ORM\Query\QueryException' 带有消息 '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 堆栈跟踪:...

我发现错误在第二行,我也试过$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);

【问题讨论】:

    标签: php doctrine-orm query-builder


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多