OneToMany博士-如何获取条目数

问题描述 投票:0回答:1

我有一个包含一对多关系的实体。

/**
* @ORM\OneToMany(targetEntity="App\Entity\BookingItem", mappedBy="bookingGroup", orphanRemoval=true)
*/
private $bookingItems;

我为包含所有条目的列表创建自定义请求:

// /**
//  * @return BookingGroup[] Returns an array of BookingGroup objects
//  */
public function findByWarehouse($value)
{
    return $this->createQueryBuilder('b')
        ->andWhere('b.warehouse = :val')
        ->setParameter('val', $value)
        ->orderBy('b.time', 'DESC')
        ->getQuery()
        ->getResult()
    ;
}

在此列表中,我想显示$ bookingItems有多少个条目。目前,我使用

在“ Twig级别”上进行工作
{{ booking.bookingItems|length }}

但是这会创建许多SQL查询。如何在请求中添加$ bookingItems的数量?

sql doctrine symfony4
1个回答
0
投票

尝试一下

public function countEntities($val)
{
    $qb = $this->createQueryBuilder('b')
        ->select('COUNT(b)')
        ->where(':val MEMBER OF b.bookingItems')
        ->setParameter('val', $val);

    return $qb->getQuery()->getSingleScalarResult();
}
© www.soinside.com 2019 - 2024. All rights reserved.