我有两个与 OneToManyProject
和Services
. 现在我想通过 project_id 删除所有服务。
第一次尝试:
$qb = $em->createQueryBuilder();
$qb->delete('Services','s');
$qb->andWhere($qb->expr()->eq('s.project_id', ':id'));
$qb->setParameter(':id',$project->getId());
此尝试失败并出现 Exception Entity Service does not have property project_id
。确实,该属性不存在,它只是在数据库表中作为外键。
第二次尝试:
$qb = $em->createQueryBuilder();
$qb->delete('Services','s')->innerJoin('s.project','p');
$qb->andWhere($qb->expr()->eq('p.id', ':id'));
$qb->setParameter(':id',$project->getId());
这也产生了一个无效的 DQL 查询。
欢迎任何想法和例子。