0
私は本当に何が間違っているのか分かりませんが、このクエリでは外部キー制約を追加できません。外部キー制約を追加できません - Laravel Entrust
alter table `__acc_role_user` add constraint `__acc_role_user_user_id_foreign` foreign key (`user_id`) references `__acc_accounts` (`account_id`) on delete cascade on update cascade
私はアカウントテーブルを作成していますか?
Schema::create('__acc_accounts', function($table)
{
$table->integer('account_id')->increments();
$table->integer('points')->default(0);
$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
});
そしてエントラストの移行(唯一の問題のセクションでは、以下の通りです):
Schema::create('__acc_role_user', function (Blueprint $table) {
$table->integer('user_id')->unsigned();
$table->integer('role_id')->unsigned();
$table->foreign('user_id')->references('account_id')->on('__acc_accounts')
->onUpdate('cascade')->onDelete('cascade');
$table->foreign('role_id')->references('id')->on('__acc_roles')
->onUpdate('cascade')->onDelete('cascade');
$table->primary(['user_id', 'role_id']);
});
外部キーにインデックスを追加しましたか? –
$ table-> integer( 'account_id') - > incrementments(); unsigned() –
はい、インデックスを外部キーに追加しました。 $ table-> integer( 'account_id') - > increments();を変更すると、 SQLSTATE [HY000]:一般エラー:1215外部キー制約を追加できません。 – Tesly