我正在使用Symfony 2.8。在Entity" Offerte"的函数editAction()中我有这段代码:
foreach($offerte->getGallery() as $gallery) {
dump($gallery);
if ($gallery->getImageName() == '') {
dump("io sono dentro if");
dump($gallery->getId());
$qb = $em->createQueryBuilder();
$qb->delete('ImageOfferte', 'io');
$qb->from('image_offerte','io');
$qb->where('io.id = :id');
$qb->setParameter(':id', $gallery->getId());
$qb->getQuery()->execute();
dump($qb->getDQL());
exit();
}
}
ImageOfferte是另一个通过OneToMany关系链接的实体(通过$ gallery字段)
此代码返回此错误:
[语义错误]第0行,第7行附近' ImageOfferte':错误:类 ' ImageOfferte'没有定义。
我的错误在哪里?我找到了另一个"问题" here on stackoverflow表示"删除语句与select"不同但我不明白如何使用我的" ImageOfferte"在那个答案。
如果我使用此代码,一切正常:
$query = $em->createQuery('delete FROM AppBundle:ImageOfferte io where io.id = '.$gallery->getId());
$result = $query->execute();
答案 0 :(得分:2)
我认为你应该删除 - > from()。
$qb = $em->createQueryBuilder();
$qb->delete('ImageOfferte', 'io');
$qb->where('io.id = :id');
$qb->setParameter(':id', $gallery->getId());
$qb->getQuery()->execute();