我在一個新的Laravel 4項目中進行了幾次移植。一個是地區,另一個是地區。每個地區都有多個地區,地區屬於地區。Laravel 4移植拋出1072錯誤
我已經在很多場合使用過Laravel 4和遷移函數,但之前從未遇到過這個問題。當我運行php artisan migrate:install
其次是php artisan migrate
我得到以下錯誤:
$ php artisan migrate
[Exception]
SQLSTATE[42000]: Syntax error or access violation: 1072 Key column 'region_
id' doesn't exist in table (SQL: alter table `areas` add constraint areas_r
egion_id_foreign foreign key (`region_id`) references `regions` (`id`)) (Bi
ndings: array (
))
migrate [--bench[="..."]] [--database[="..."]] [--path[="..."]] [--package[="...
"]] [--pretend] [--seed]
//該地區遷移
class CreateRegionsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
// Creates the regions table
Schema::create('regions', function($table)
{
$table->engine = 'InnoDB';
$table->increments('id');
$table->string('name', 160)->unique();
$table->timestamps();
});
}
}
//該地區遷移
class CreateAreasTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
// Creates the cemeteries table
Schema::create('areas', function($table)
{
$table->engine = 'InnoDB';
$table->increments('id');
$table->foreign('region_id')->references('id')->on('regions');
$table->string('name', 160)->unique();
$table->timestamps();
});
}
}
啊,這很有趣。所以$ table-> foreign('columnname')...不會創建一個基於整數的列,如果它不存在? – JasonMortonNZ
就是這樣。它只是創建表之間的關係。 –
解決了我收到的錯誤,但用另一個替換了它。 [異常] SQLSTATE [HY000]:常規錯誤:1005無法創建表 'NZF-組織#SQL-107c_ C8'(錯誤:150)(SQL:ALTER TABLE'areas'添加約束areas_region_id_f 的外國人外鍵('region_id')引用'區域'('id'))(綁定:ar ray( )) – JasonMortonNZ