【发布时间】:2019-01-07 07:44:51
【问题描述】:
我的 Laravel 项目中的 hasManyThrough 关系有问题。
我想让所有人都与所选活动建立联系。
我的表格如下:
Events:
- id
- name
- ...
Tickets:
- id
- event_id
- person_id
- ...
People
- id
- first_name
- ...
在我的事件模型中:
public function people()
{
return $this->hasManyThrough(Person::class, Ticket::class);
}
那么,如何获得所有人?例如。
Event::first()->people
【问题讨论】:
-
我认为你的人需要一个ticket_id,你应该只需要门票中的event_id。 laravel.com/docs/5.7/eloquent-relationships#has-many-through
-
HasManyThrough是这里的错误关系。改用BelongsToMany:laravel.com/docs/eloquent-relationships#many-to-many