我有一个Users表和一个公司表
用户表格中有一列' company_id'参考Companies.id和公司有专栏'分配'它引用了Users.id
显然,无论我首先尝试创建哪个表,我都会收到错误消息,说它无法创建引用约束,因为另一个表不存在。
我可以手动执行此操作,但我一直在寻找使用artisan migrate命令的方法。
有解决方法吗?
这是我的代码:
Schema::create('companies', function($table) {
$table->increments('id');
$table->string('name');
$table->integer('priority');
$table->string('color');
$table->string('shortname');
$table->integer('assignation');
$table->foreign('assignation')->references('id')->on('users');
$table->timestamps();
});
Schema::create('users', function($table) {
$table->increments('id');
$table->string('username');
$table->string('password');
$table->string('email');
$table->integer('security');
$table->string('token');
$table->integer('company_id');
$table->foreign('company_id')->references('id')->on('companies');
$table->timestamps();
});
答案 0 :(得分:2)
你可以这样做:
Schema::create('companies', function($table) {
$table->increments('id');
$table->string('name');
$table->integer('priority');
$table->string('color');
$table->string('shortname');
$table->integer('assignation');
$table->timestamps();
});
Schema::create('users', function($table) {
$table->increments('id');
$table->string('username');
$table->string('password');
$table->string('email');
$table->integer('security');
$table->string('token');
$table->integer('company_id');
$table->foreign('company_id')->references('id')->on('companies');
$table->timestamps();
});
Schema::table('companies', function($table)
{
$table->foreign('assignation')->references('id')->on('users');
});