Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Общий раздел » Выборка данных из нескольких таблиц » 22.04.2017 17:56:58

Joe
Ответов: 2

Всем привет! Помогите пожалуйста, как лучше сделать следующее..
- Необходим список всех пользователей - users (id, name, email, position)
- Необходимы все сессии каждого пользователя - sessions (ip_address, user_agent, last_activity)
- Необходим список ролей пользователя - users_roles (user_id, role_id) + из таблицы roles (name, title)

Можно конечно вытащить данные по частям, я думаю, users_roles и roles стоит вытянуть отдельно.. хотя, может есть какой-то штатный метод?
Вообще встает вопрос как вытащить users + sessions где у пользователя может быть несколько сессий или не быть вообще
Пробую такой вариант, но работает не корректно

$arr = \DB::table('users')
            ->select('users.id', 'users.name', 'users.email', 'users.created_at', 'users.position',
                        'sessions.ip_address', 'sessions.user_agent', 'sessions.last_activity')
            ->join('sessions', 'users.id', '=', 'sessions.user_id')
            ->orderBy('name', 'asc')
            ->get();

Laravel 5.3

Подвал раздела