【发布时间】:2013-03-11 09:45:22
【问题描述】:
我有两个具有 OneToMany 关系的实体,Project 和 Services。现在我想通过 project_id 删除所有服务。
第一次尝试:
$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 查询。
欢迎任何想法和示例。
【问题讨论】:
标签: php doctrine-orm