将查询从MySQL转换为条令(不在中)
我需要帮助将MySQL翻译成条令查询 有一个我想翻译的问题:将查询从MySQL转换为条令(不在中),mysql,symfony,doctrine-orm,doctrine,Mysql,Symfony,Doctrine Orm,Doctrine,我需要帮助将MySQL翻译成条令查询 有一个我想翻译的问题: SELECT izo_order.id FROM izo_order WHERE izo_order.id NOT IN (SELECT izo_installation.order_id FROM izo_installation WHERE izo_installation.order_id=izo_order.id) AND izo_order.client_id = 4
SELECT izo_order.id
FROM izo_order
WHERE izo_order.id
NOT IN (SELECT izo_installation.order_id
FROM izo_installation
WHERE izo_installation.order_id=izo_order.id)
AND izo_order.client_id = 4
我做了类似的事情,但似乎不起作用:
$qb = $this->_em->createQuery('SELECT o
FROM AppBundle:Order o
WHERE o.id
NOT IN (SELECT i.order
FROM AppBundle:Installation i
WHERE i.order=o.id)
AND o.clientBelongsTo = :client_id')->setParameter('client_id', $client_id);
return $qb->getResult();
您的查询看起来不错,但子查询中的where子句应该会导致错误。试着不要那样做:
$qb = $this->_em->createQuery('SELECT o
FROM AppBundle:Order o
WHERE o.id
NOT IN (SELECT IDENTITY(i.order)
FROM AppBundle:Installation i)
AND o.clientBelongsTo = :client_id')->setParameter('client_id', $client_id);
$qb->getResult();
如果仍然存在错误,则应该发布错误。您的查询看起来不错,但子查询中的where子句应该会导致错误。试着不要那样做:
$qb = $this->_em->createQuery('SELECT o
FROM AppBundle:Order o
WHERE o.id
NOT IN (SELECT IDENTITY(i.order)
FROM AppBundle:Installation i)
AND o.clientBelongsTo = :client_id')->setParameter('client_id', $client_id);
$qb->getResult();
如果您仍然有错误,您应该发布错误。我仍然有错误。[语义错误]第0行,第60列“order FROM”附近:错误:无效的PathExpression。必须是StateFieldPathExpression。是否尝试使用
选择标识(i.order)
?谢谢!就这样!我仍然有错误。[语义错误]第0行,第60列“order FROM”附近:错误:无效的PathExpression。必须是StateFieldPathExpression。是否尝试使用选择标识(i.order)
?谢谢!就这样!