Symfony2 ondelete set Null
Я новичок в symfony2, и я начал проект блога. Этот проект имеет две сущности, один из постов (Noticia
) и один с комментариями (Comentario
). Мне нужно удалить сообщение, но я не могу из-за связи с комментариями.
Вот мой атрибут:
/**
* @ORM\ManyToOne(targetEntity="Noticia", inversedBy="comentarios", onDelete="SET NULL")
* @ORM\JoinColumn(name="noticia_id", referencedColumnName="id")
*/
private $noticia;
/**
* @ORM\OneToMany(targetEntity="Comentario", mappedBy="noticia")
*/
private $comentarios = array();
Я пытался поставить onDelete="SET NULL"
но когда я обновил свою базу данных доктриной: php app/console doctrine:schema:update --force
Я получил эту ошибку:
The annotation @ORM\ManyToOne declared on property Noticia
Bundle\Entity\Comentario\::$noticia does not have a property named "onDelete".
Avaible properties: targetEntity, cascade, fetch, inversedBy
2 ответа
Я считаю, что onDelete="SET NULL" должно быть частью аннотации JoinColumn, а не аннотации ManyToOne.
Одним из способов будет поиск всех комментариев со связью статей, которые вы хотите удалить. Поэтому сначала удалите все комментарии, чем саму статью. Это самый простой способ без изменения аннотации.