2016-04-30 71 views
0

我正在使用Symfony 2.8。在實體「Offerte」的功能editAction()我有這樣的代碼:學說查詢生成器刪除「from」沒有「from」?

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是另一個實體通過一對多關係鏈接(通過$畫廊場)

此代碼返回我這個錯誤:

[Semantical Error] line 0, col 7 near 'ImageOfferte': Error: Class 'ImageOfferte' is not defined.

我的錯誤在哪裏?我發現另一個「問題」here on stackoverflow,說「刪除語句不同於選擇」,但我不明白如何在該答案中使用我的「ImageOfferte」。

如果我使用此代碼一切正常:

$query = $em->createQuery('delete FROM AppBundle:ImageOfferte io where io.id = '.$gallery->getId()); 
$result = $query->execute(); 
+0

在第一個示例中,您只是將實體類名稱作爲參數傳遞,而在第二個示例中,您使用的是簡短語法「BundleName:EntityName」。修復你的代碼,你應該很好去。 – Artamiel

回答

1

我認爲你應該刪除 - >從()。

$qb = $em->createQueryBuilder(); 
$qb->delete('ImageOfferte', 'io'); 
$qb->where('io.id = :id'); 
$qb->setParameter(':id', $gallery->getId()); 
$qb->getQuery()->execute(); 
相關問題