【发布时间】:2019-10-13 16:11:55
【问题描述】:
我想在 laravel 中迁移一个 acl 迁移但我收到了这个错误
错误
150 "外键约束格式不正确"
表格
public function up()
{
Schema::create('roles', function (Blueprint $table) {
$table->Increments('id');
$table->string('title_fa');
$table->string('title_en');
$table->timestamps();
});
Schema::create('permissions', function (Blueprint $table) {
$table->Increments('id');
$table->string('title_fa');
$table->string('title_en');
$table->timestamps();
});
Schema::create('role_user', function (Blueprint $table) {
$table->integer('role_id');
$table->integer('user_id');
$table->foreign('role_id')
->references('id')
->on('roles')
->onUpdate('cascade')
->onDelete('cascade');
$table->foreign('user_id')
->references('id')
->on('users')
->onUpdate('cascade')
->onDelete('cascade');
});
Schema::create('permission_role', function (Blueprint $table) {
$table->integer('permission_id');
$table->integer('role_id');
$table->foreign('permission_id')
->references('id')
->on('permissions')
->onUpdate('cascade')
->onDelete('cascade');
$table->foreign('role_id')
->references('id')
->on('roles')
->onUpdate('cascade')
->onDelete('cascade');
});
}
我尝试 unsign inteager 为角色 ID 和用户 id 并尝试它:
$table->primary(['role_id','user_id']);
但它不适合我
【问题讨论】:
标签: php mysql laravel acl laravel-6