Я работаю над приложением Laravel 5.6, в котором у меня есть 2 таблицы, в основном sponsors
таблица и children
таблица.Создаю отношения один-ко-многим между таблицами перед их миграцией.У ребенка может быть много спонсоров.Проблема в том, что я получаю эту ошибку при их миграции с помощью команды php artisan migrate
:
Подсветка \ База данных \ QueryException: SQLSTATE [HY000]: Общая ошибка: 1005 Не удается создать таблицу larangular
. #sql-520c_21f
(ошибка: 150 "Ограничение внешнего ключа сформировано неправильно") (SQL: таблица изменения sponsors
добавить ограничение sponsors_child_id_foreign
ссылки на внешний ключ (child_id
) children
(id
) при каскаде удаления)
Миграция спонсоров
public function up()
{
Schema::create('sponsors', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('child_id')->unsignedInteger();
$table->foreign('child_id')->references('id')->on('children')->onDelete('cascade');
$table->foreign('child_id')->references('id')->on('children');
$table->string('email')->unique();
$table->string('phone');
$table->string('nationality');
$table->timestamps();
});
}
Миграция детей
public function up()
{
Schema::create('children', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->string('gender');
$table->timestamps();
});
}