Laravel 4模式生成器-循环参考
我有一个用户表和一个公司表 Users表中有一列“company\u id”引用companys.id,companys表中有一列“assignation”引用Users.id 显然,无论我首先尝试创建哪个表,我都会收到一个错误,即它无法创建引用约束,因为另一个表不存在 我可以手动执行此操作,但我正在寻找使用artisan migrate命令的方法 有解决办法吗 这是我的密码:Laravel 4模式生成器-循环参考,laravel,database-schema,circular-dependency,Laravel,Database Schema,Circular Dependency,我有一个用户表和一个公司表 Users表中有一列“company\u id”引用companys.id,companys表中有一列“assignation”引用Users.id 显然,无论我首先尝试创建哪个表,我都会收到一个错误,即它无法创建引用约束,因为另一个表不存在 我可以手动执行此操作,但我正在寻找使用artisan migrate命令的方法 有解决办法吗 这是我的密码: Schema::create('companies', function($table) {
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();
});
您可以这样做:
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');
});