在PHP中将SQL转换为Doctrine查询生成器代码

时间:2017-10-07 12:29:53

标签: php mysql doctrine

我有这个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 native query

我希望转换为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();

但我收到了这个错误:

enter image description here

任何帮助PLZ。

0 个答案:

没有答案