Я хочу использовать миграции для создания 2 таблиц: users
а также posts
вот мой код для create_users_table
:
Schema::create('users', function(Blueprint $table)
{
$table->engine = 'InnoDB';
$table->increments('id');
$table->string('username',50);
$table->string('password',100);
});
после этого я хочу создать create_posts_table
:
Schema::create('posts',function(Blueprint $table){
$table->engine = 'InnoDB';
$table->increments('id');
$table->string('title',100);
$table->text('content');
$table->unsignedInteger('users_id');
$table->foreign('users_id')->references('id')->on('users')->onDelete('SET NULL')->onUpdate('CASCADE');
$table->timestamps();
});
и вот это моя проблема:
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table 'posts' add constraint posts_users_id_foreign foreign key ('u
sers_id') references 'users' ('id') on delete SET NULL on update CASCADE)
Я просмотрел свой код и обнаружил, что не могу добавить onDelete('SET NULL')
почему ?! Как я могу это сделать?
Для дальнейшего использования этой проблемы исправление достаточно простое: позвольте столбцу внешнего ключа обнуляться.
Других решений пока нет …