Doctrine更新使用连接错误

时间:2017-07-10 01:57:57

标签: sql join doctrine-orm

我需要运行这个sql。

I/O error: Client requested protocol TLSv1 not enabled or not supported

$this->getRepository('AppBundle:Order')
    ->createQueryBuilder('o')
    ->update()
    ->join('o.dis', 'd')
    ->set('o.channel.type', 'CASE WHEN d.hasVod = 1 THEN :vod ELSE :other END')
    ->setParameter('vod', 'vod')
    ->setParameter('other', 'other)
    ->getQuery()
    ->execute()
;

但错误:'d'未定义。 我尝试在Doctrine中运行sql也有这个错误。

所以,如果你有好主意,请告诉我,谢谢!!

1 个答案:

答案 0 :(得分:0)

您需要在join指令中定义表d。 查询的开头是:

$this->getRepository('AppBundle:Order')
    ->createQueryBuilder('o')
    ->join('YourBundle:YourEntity', 'd','WITH', 'd.id = o.dis' )
/* ...... */