Я только что создал новый проект Laravel 4, и я нахожу странные вещи, связанные с внешним ключом компоновщика схемы. Если я использую метод ->foreign()
в любой из моих миграций, я получаю брошенные ошибки MySQL 150 и общую ошибку 1005. Согласно документации на laravel.com/docs, должен работать два сценария внизу? Кто-нибудь знает, почему они этого не делают?
Выполняется следующее:
Schema::create('areas', function($table)
{
$table->engine ='InnoDB';
$table->increments('id');
$table->integer('region_id')->references('id')->on('regions');
$table->string('name', 160);
$table->timestamps();
});
Но эти два не работают:
Schema::create('areas', function($table)
{
$table->engine ='InnoDB';
$table->increments('id');
$table->foreign('region_id')->references('id')->on('regions');
$table->string('name', 160);
$table->timestamps();
});
Schema::create('areas', function($table)
{
$table->engine ='InnoDB';
$table->increments('id');
$table->integer('region_id');
$table->foreign('region_id')->references('id')->on('regions');
$table->string('name', 160);
$table->timestamps();
});