Как получить связи у коллекции пользователей
У меня есть коллекция пользователей
$department = Department::find(1)->users;
Мне нужно получить к ним отношения Journal, ниже код рабочий, но тут используется условия на прямую из таблицы Users, а мне конкретно нужно из коллекции $department
User::where('name', '<>', 'Manager')
->with(['journal' => function($query) use ($request){
$query->where('schedule', 'like', "%" . $request->date . "%");
}])->get();
Ответы (1 шт):
Ну если читать документацию по получению связующих таблиц, то есть способы как это делать.
Так же из бд, при получении коллекции. (
usersвызвать как методusers())Department::find(1)->users()->with('journal')->get();Если уж надо из коллекции, например такая ситуация возникает когда идёт в
bladeперебор массива через цикл и надо динамически получить под таблицы, то:$users = Department::find(1)->users; $users->load('journal'); ...
Вы можете выводить просто на каждой итерации $user->journal, но тогда на каждый вызов будет запрос в бд, если у вас 100 пользователей, то это 100 запросов в бд.
Для этого и существует метод load()