我正在尝试将所有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字段采用二进制格式,导致出现问号。
我没有收到错误,因为事件存在,因为我刚检索它们......
答案 0 :(得分:1)
通过检查我的所有迁移来结束。 event_id
列的长度与事件表中的id
字段的长度不同。