我有这个SQL查询
DELETE FROM attachments
WHERE ( attachment_id IN (
SELECT s.attachment_id FROM (
SELECT a0_.attachment_id
FROM attachments a0_
WHERE a0_.attachment_entity = 'user' AND a0_.attachment_foreign_key = ?
) AS s
))
我希望转换为Doctrine 2 Code,
我使用这样的东西:
$query->delete($this->entityClass, 'Attachments')
->where($query->expr()->in('Attachments.attachmentId',
$subQuery->select('AttachmentEntity.attachmentId')
->from($this->entityClass, 'AttachmentEntity')
->where("AttachmentEntity.attachmentEntity =:model")
->andWhere("AttachmentEntity.attachmentForeignKey =:userId")
->getDQL()
))
->setParameters(
[
'model' => 'user',
'userId' => $userId,
]
)
->getQuery()
->execute();
但我收到了这个错误:
任何帮助PLZ。