Laravel по-русски

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

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

#1 08.05.2021 11:49:59

В чём разница модель с with и без

Не понимаю в чём разница модели с использованием with('childCategory','products') и без , пробовал и так и так с виз просто прилепляет к массиву ещё два массива, но в функции dd($category->childCategory[0]);
доступны и с with и без with, какую проблему решает эта функция?

$category = Category::with('childCategory','products')->whereSlug($slug)->where('show', 1)->first();
        if(!$category) {
            return redirect(404);
        }
        dd($category->childCategory[0]);

Не в сети

#2 10.05.2021 09:19:07

Re: В чём разница модель с with и без

есть понятие "ленивая загрузка"
если ты достал категорию без with, то связи изначально не подтянутся. И если ты внутри цикла начнешь дёргать связи, то будут выполняться запросы и появится проблема "N+1" и будет столько запросов сколько итераций в цикле. А если с with то оно сразу вытянет все указанные связи и внутри цикла будет работать уже с имеющимися данными без дополнительных запросов к БД

Изменено Eskono (10.05.2021 09:19:51)

Не в сети

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