У меня вопрос по таблице миграции laravel.У меня есть отношение один к одному между 2 таблицами.OrderLine и билет.Я поместил эти 2 функции в модель Ticket и OrderLine:
public function orderline()
{
return $this->hasOne('App\OrderLine');
}
public function ticket()
{
return $this->hasOne('App\Ticket');
}
и в файле миграций create_tickets_table Схема:
public function up()
{
Schema::create('tickets', function (Blueprint $table) {
$table->increments('id');
$table->integer('order_line_id')->unsigned(); //foreign key
$table->string('number');
$table->float('price');
$table->timestamps();
$table->foreign('order_line_id')->references('id')->on('order_lines');//relationship one to one between orderline & ticket tables
});
}
и в файле миграций create_order_lines_table Схема:
public function up()
{
Schema::create('order_lines', function (Blueprint $table) {
$table->increments('id');
$table->integer('ticket_id')->unsigned();//foreign key
$table->integer('order_id')->unsigned(); //foreign key
$table->float('total_order_line');
$table->timestamps();
$table->foreign('ticket_id')->references('id')->on('tickets');//relationship one to one between orderline & ticket tables
$table->foreign('order_id')// relationship one to many between order & order line tables
->references('id')->on('orders')
->onDelete('cascade');
});
}
и когда я выполняю миграцию php artisan, у меня все еще появляется эта ошибка:
bruno @ bruno-HP-EliteBook-840-G4: ~ / projetconcert $ php artisan migrate Таблица миграции успешно создана.
Подсветка \ База данных \ QueryException: SQLSTATE [HY000]: общая ошибка: 1005 Невозможно создать таблицу gestion_concert_spectacle
. #sql-e08_30d
(ошибка: 150 «Неправильно сформировано ограничение внешнего ключа») (SQL: alterтаблица order_lines
добавить ограничение order_lines_ticket_id_foreign
ссылки на внешние ключи (ticket_id
) tickets
(id
))
Кто-нибудь знает, как это решить?Спасибо.Bruno