我有一个名为"客户"的实体。在这个实体中,有一个OneToMany与另一个实体的关联" customer-status"。 我想得到所有客户对象,其中一个客户状态字段就像xyz。
如果我像这样制作一个QB,这不是问题:
$qb->andWhere($qb->expr()->like('s.comment', ':comment'));
$qb->setParameter('comment', "Created at %");
唯一的问题是,我为所有客户提供了查询等客户状态。但只有这些状态。如果同样的查询适用,我想要所有状态。
我已经搜索了这个,但没有发现这样的事情。 有人有想法吗?
答案 0 :(得分:0)
经过几杯啤酒,我找到了anser。对于预期结果,我不应该在select-operation中定义customer-status实体。只需选择父实体即可。 所以这个:
$qb
->select(['c'])
->leftJoin('customer.statuses', 's')
->andWhere($qb->expr()->like('s.comment', ':comment'))
->setParameter('comment', "Created at %");
是正确的方式,而不是
$qb
->select(['c', 's'])
->leftJoin('customer.statuses', 's')
->andWhere($qb->expr()->like('s.comment', ':comment'))
->setParameter('comment', "Created at %");