Спасибо, @Augusto Moura, но я нашел другое решение, и оно на самом деле не самое лучшее, но работает для меня, таким образом я могу вызывать пользователей из модели событий, а также в вызовах пользователей как вложенное отношение.
public function users()
{
return $this->hasMany('App\Models\Invitation', 'round_id')
->select('users.*', 'round_invitations.round_id', 'round_invitations.accept_status', 'round_invitations.reservation', 'round_invitations.id as request_id', 'users.id as user_id')
->join('users', function ($join) {
$join->on('users.id', '=', 'round_invitations.invitee')->whereColumn('users.id', 'round_invitations.invitee');
$join->orOn('users.id', '=', 'round_invitations.invitor')->whereColumn('users.id', 'round_invitations.invitor');
})->where(function ($query) {
$query->where('accept_status', 1)->orWhere('reservation', 1);
})->where('accept_status', '!=', 2)
->groupBy('round_invitations.id')
->whereColumn('users.id', '!=', 'organiser_id')
->groupBy('user_id')
->distinct('users.id');
}
Usage example: Event::with('user')->find(2);
Another example: Organiser::with('Events.user')->find(2);