原则 2 使用查询生成器删除
2022-08-30 13:07:03
我有两个实体与 OneToMany 和 .现在我想通过project_id删除所有服务。Project
Services
第一次尝试:
$qb = $em->createQueryBuilder();
$qb->delete('Services','s');
$qb->andWhere($qb->expr()->eq('s.project_id', ':id'));
$qb->setParameter(':id',$project->getId());
此尝试失败,并显示异常 。没错,该属性不存在,它仅在数据库表中作为外键存在。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查询。
任何想法和例子将受到欢迎。