Eloquent hasManyThrough也获得数据透视表记录

I have the following relation in my Users model

public function events($user_id)
{

    return $this->find($user_id)->hasManyThrough('Event', 'Event_Member', 'user_id', 'id');
}

And the three tables

User

id|name|...
1 |bob |
2 |mike|

Event

id|name   |location
1 |meeting|office

Event_Member

user_id|event_id|status
1      |1       |Owner
2      |1       |Guest

The hasManyThrough relationship gives me the information from the Event table, but I also need the status information from the pivot table, how can this be done?

What you have looks like a many-to-many relation rather than a has-many-through one. You have two tables connected through a pivot, not three parent-child-grandchild tables.

I would strongly suggest changing the relationship in both models. In the user model, it would look like this:

public function events()
{
    return $this->belongsToMany('Event', 'event_members');
}

Note that a pivot table is typically called model1_model2 in alphabetical order - that is, event_user in this case. I assumed your pivot table is called event_members, if not just change it. Also note that I removed the user_id since the user model already knows which user it's using.

Then you can access pivot data easily, e.g. like this:

foreach ($user->events as $event) {
    echo $event->pivot->status;
}