Полный цикл в digital

Жадная загрузка по умолчанию

Иногда требуется постоянная загрузка некоторых отношений при извлечении модели. Для этого нужно определить свойство $with в модели.

Для примера давайте сделаем так, чтобы категории всегда загружались вместе со своими постами:

app/Models/Category.php<?php
class Category extends Model
{
    protected $with = ['post'];
    
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

Теперь при переборе постов лишнего запроса не будет:

app/Http/Controllers/CategoryController.php<?php
class CategoryController extends Controller
{
    public function show()
    {
        $category = Category::find(1);
        
        foreach ($category->posts as $post) {
            dump($post); // лишнего запроса не будет
        }
    }
}
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг