Пробовал использовать внешние ключи с удаленным каскадом и softDeletes без большой удачи.
У меня есть 2 таблицы: пользователи, события. Обе таблицы имеют softDeletes.
Пользователи могут иметь 0..n событий.
События имеют user_id, используемые в качестве внешнего ключа для пользователей, например:
$table->foreign('user_id')->references('id')->on('users')->onDelete('CASCADE')->onUpdate('CASCADE');
Проблема в том, что когда я удаляю пользователя, он получает soft-deleted, но его события не имеют - либо мягкое удаление, либо физическое удаление.
Я делаю что-то неправильно или это правильное поведение Красноречивого?
Во-вторых, если это правильное поведение, как наилучшим образом реализовать каскад удаления? возможно, переопределяя метод delete() в моих моделях, подобный этому...
public function delete()
{
//delete all events...
__parent::delete()
}
?