我使用外键'user_id'迁移到另一个数据库中的表'users': 当我输入(php artisan migrate)时会产生错误。
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table `safetyreports` add constraint safetyreports_user_id_foreign
foreign key (`user_id`) references `users` (`id`) on delete cascade)
现在laravel制作了除'user_id'列之外的表格。我怎么能做到这一点?
这是我的迁移代码:
Schema::create('safetyreports', function(Blueprint $table) {
$table->increments('id');
$table->string('afdeling');
$table->string('contractor');
$table->string('directe chef');
$table->string('ploeg');
$table->string('team');
$table->string('plant_afd');
$table->string('datum');
$table->string('plaats');
$table->string('tijd');
$table->string('omschrijving');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
$table->timestamps();
});
这是我的用户型号代码:
protected $connection = 'mysql2';
protected $table = 'users';
我测试了我的用户模型。有用。我用User:all()测试了它,然后在我的屏幕上显示所有用户。
这是否可以使外键交叉数据库表成为可能?