В вашей схеме базы данных вы устанавливаете ограничение внешнего ключа между двумя таблицами "cursos" и этой другой таблицей, используя внешний ключ "curso_id", и при удалении вы не сказали схеме что-либо делать, так что вынарушая ограничение вашего ключа, поэтому вы просто должны сказать ему каскадно или ничего не делать при удалении из вашего файла миграции: -
Schema::create('other_table', function (Blueprint $table) {
// Some other fields...
$table->integer('curso_id')->unsigned();
$table->foreign('curso_id')->references('id')->on('cursos')->onDelete('cascade');
});
, и он будет работать очень хорошо.
или просто просто удалитьограничение внешнего ключа и сделать это в файлах ваших моделей, но обратите внимание, когда вы удаляете, вы должны сделать это вручную:
DB::table('other_table')->where('curso_id', $curso->id )->delete();
Но ограничение лучше, чем делать это вручную, но вы должны сделать это правильно.
Как здесь Foreign Keys , но в последний раз они говорили об этом - это версия 5.0 по какой-то причине, которую я не знаю.