Всем привет. Помогите разобраться как работают join в laravel. Например есть 2 таблицы users и category Я создаю 2 модели, в каждой модели я приписываю соотношения, с этим проблем нет! Но если мне нужно вывести список все пользователей, то как я могу объединить эти 2 таблицы Я могу сделать так в контроллере PHP: $users = Users::all(); в виде я перебираю все юзеров и если вывести имя пользователя, тогда PHP: $user->name; а если категорию, тогда PHP: $user->category()->name; но вот тут у меня вопрос, когда я делаю Users::all() то происходит join с таблицей Сategory или же выбираются только пользователи, а когда я обращаюсь еще к $user->category()->name происходит дополнительный запрос? Еще можно сделать через класс DB прописать самостоятельно joinы, но зачем???? ведь я в моделя связи попрописывал. Знаком еще с фрейворком CakePHP, так там в моделях прописывают соотношения и сами joinы как таблицы будут взаимосвязываться, в когда нужно вывести список Юзеров с Категориями пишется примерно так PHP: $users = Users->find(['all'])->contain['Category']; в этой строчки происходит именно 1 запрос с joinом таблицы Category. Как это делается в Laravel?
Возможны варианты. Почитай про ленивые и жадные запросы. https://laravel.com/docs/5.7/eloquent-relationships#eager-loading