Здравствуйте. Есть у меня две модели User и Room: 1 пользователь может принадлежать к многим комнатам и в одной комнате может быть много пользователей. User.php PHP: public function rooms() { return $this->belongsToMany(Room::class)->withTimestamps(); } Room.php PHP: public function users() { return $this->belongsToMany(User::class)->withTimestamps(); } Вывести все комнаты, в которых находится текущий залогиненный пользователь легко: PHP: auth()->user()->rooms()->get() . Но не знаю, как получить пользователей, которые находятся в комнатах, в которых находится залогиненный пользователь? PHP: auth()->user()->rooms()->users не работает. Код (Text): >>> auth()->user()->rooms()->users PHP Notice: Undefined property: Illuminate\Database\Eloquent\Relations\BelongsToMany::$users on line 1 >>> auth()->user()->rooms()->users() BadMethodCallException with message 'Method Illuminate\Database\Query\Builder::users does not exist.' >>> Заранее спасибо за любую помощь. .
Сделай запрос руками, быстрее будет. А так, только циклом по rooms пройтись. ORM не избавляет на 100 от написания SQL-запросов --- Добавлено --- PHP: $usersInRooms = User::query()->join("room_user", "room_user.user_id=users.id")->whereIn("room_id", auth()->user()->rooms()->get()->pluk("id"))->get(); Что-то в этом роде, если нигде не ошибся.