我有一个包含一对多关系的实体。
/**
* @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的数量?
尝试一下
public function countEntities($val)
{
$qb = $this->createQueryBuilder('b')
->select('COUNT(b)')
->where(':val MEMBER OF b.bookingItems')
->setParameter('val', $val);
return $qb->getQuery()->getSingleScalarResult();
}