Doctrine 2 OneToMany Cascade SET NULL

Ошибка

Невозможно удалить или обновить родительскую строку: внешний ключ ограничение не работает.

Классы

class Teacher {

    /**
     *@ORM\OneToMany(targetEntity="publication", mappedBy="teacher")
     */
    protected $publications;
}

class Publication {

    /**
     * @ORM\ManyToOne(targetEntity="Teacher", inversedBy="publications")
     * @ORM\JoinColumn(name="teacher_id", referencedColumnName="id")
     */
    protected $teacher;
}

Я хочу

Я хочу сделать так, чтобы при удалении учителя id_teacher изменялся на NULL. Я хочу сохранить публикацию, но без ссылки на профессора.

Я не знаю, как это сделать в Доктрине, возможно ли это? Или всегда отношения должны быть с учителем?

53
задан Slava Fomin II 30 August 2016 в 14:08
поделиться