Удалить инструкцию по построению запроса Doctrine

Я использую Symfony2, я должен использовать Doctrine QueryBuilder ( http://docs.doctrine-project.org/en/latest/reference/query-builder.html ). В документации нет примера для инструкции delete или update.

Моя сущность:

object(stdClass)[417] public '__CLASS__' => string 'Les\DataBundle\Entity\News' (length=26) public 'id' => int 1 public 'restoId' => int 1 public 'category' => string 'dessert' (length=7) public 'text' => string 'jlkdjsalkdj sa' (length=14) public 'dateCreated' => string 'DateTime' (length=8) public 'dateModified' => null 

Я пытаюсь удалить строку в базе данных, но я продолжаю получать ошибку:

  [Semantical Error] line 0, col 7 near 'News WHERE n.id': Error: Class 'News' is not defined. 

Мой запрос:

  $newsID =2 ; $qd = $repository->createQueryBuilder('n'); $qd->delete('n') ->where('n.id = :id') ->setParameter('id',$newsID); $query = $qd->getQuery(); $result = $query->getResult(); -  $newsID =2 ; $qd = $repository->createQueryBuilder('n'); $qd->delete('n') ->where('n.id = :id') ->setParameter('id',$newsID); $query = $qd->getQuery(); $result = $query->getResult(); 

И будет ли инструкция обновления иметь одинаковую структуру?

Для инструкции delete отличается от select, вы не указываете имя столбца для удаления в отличие от select.

Исправленный код

  $qd = $repository->createQueryBuilder('n'); $qd->delete() ->where('n.id = :id') ->setParameter('id',$newsID); $query = $qd->getQuery(); $result = $query->getResult(); -  $qd = $repository->createQueryBuilder('n'); $qd->delete() ->where('n.id = :id') ->setParameter('id',$newsID); $query = $qd->getQuery(); $result = $query->getResult(); 

Другой формат

  $query = $this->getDoctrine()->getManager()->createQuery('delete FROM LesDataBundle:News n where n.id = '.$newsID); $result = $query->getResult(); 

Для Заявления об обновлении это:

  $qd = $repository->createQueryBuilder('n'); $qd->delete() $qd->update() ->set('n.text' , ':text') ->where('n.id = :id') ->setParameters( array('id'=> $newsID, 'text' => 'Hello World') ); $query = $qd->getQuery(); $result = $query->getResult(); -  $qd = $repository->createQueryBuilder('n'); $qd->delete() $qd->update() ->set('n.text' , ':text') ->where('n.id = :id') ->setParameters( array('id'=> $newsID, 'text' => 'Hello World') ); $query = $qd->getQuery(); $result = $query->getResult(); -  $qd = $repository->createQueryBuilder('n'); $qd->delete() $qd->update() ->set('n.text' , ':text') ->where('n.id = :id') ->setParameters( array('id'=> $newsID, 'text' => 'Hello World') ); $query = $qd->getQuery(); $result = $query->getResult();