我有一个用户表和一个公司表。
User表有一个列'company_id‘,它引用Companies.id,公司有一个列'assignation’,它引用Users.id
显然,无论我首先尝试创建哪个表,我都会看到一个错误,它不能创建引用约束,因为另一个表不存在。
我可以手动完成此操作,但我正在寻找一种方法来使用手工迁移命令。
有办法解决这个问题吗?
这是我的代码:
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();
});发布于 2015-03-16 19:07:30
你可以这样做:
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');
});https://stackoverflow.com/questions/29084575
复制相似问题