即使是极限,Laravel同步也会抛出完整性异常

时间:2017-09-29 13:47:54

标签: mysql laravel laravel-5

我正在尝试将所有TicketMethod个对象链接到所有Event个对象:

foreach (Event::all() as $event) {
   $event->ticketMethods()->attach([1, 2]);
}

1和2是TicketMethod的数据库中唯一的ID。

在我的Event我有以下代码:

public function ticketMethods()
{
        return $this->belongsToMany('App\Models\TicketMethod', 'event_ticket_methods');
}

例外:

[Illuminate\Database\QueryException]                                         
  SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update   
  a child row: a foreign key constraint fails (`tickets`.`event_ticket_method  
  s`, CONSTRAINT `event_ticket_methods_event_id_foreign` FOREIGN KEY (`event_  
  id`) REFERENCES `events` (`id`) ON DELETE CASCADE) (SQL: insert into `event  
  _ticket_methods` (`event_id`, `ticket_method_id`) values (@/Y�� ���ʫB{�1�,  
   1), (@/Y�� ���ʫB{�1�, 2)) 

event_id字段采用二进制格式,导致出现问号。

我没有收到错误,因为事件存在,因为我刚检索它们......

1 个答案:

答案 0 :(得分:1)

通过检查我的所有迁移来结束。 event_id列的长度与事件表中的id字段的长度不同。