L.S*_*L.S 6 php symfony doctrine-orm
我在使用查询构建器删除 id 找到的所有记录时遇到了一些麻烦,我尝试过像下面的代码一样,但我总是收到这个错误:
[Semantical Error] line 0, col 53 near 'b.id = :surv': Error: 'b' is not defined.
Run Code Online (Sandbox Code Playgroud)
方法:
public function deleteUsers($surveyId) {
$qb = $this->getEntityManager()->createQueryBuilder();
return $qb
->delete()
->from(BaseUser::class, 'a')
->leftJoin('a.survey', 'b')
->where('b.id = :survey')
->setParameter('survey', $surveyId)
->getQuery()
->execute()
;
}
Run Code Online (Sandbox Code Playgroud)
您根本无法在带有 Doctrine 的删除语句中使用连接。一个机会可能是先获取应从连接结果中删除的 id,然后执行简单的“删除 id 所在位置”。这会起作用。
另请参阅此问题/答案:Doctrine QueryBuilder delete with joins
| 归档时间: |
|
| 查看次数: |
9619 次 |
| 最近记录: |