Иногда требуется постоянная загрузка некоторых отношений
при извлечении модели. Для этого нужно определить
свойство $with
в модели.
Для примера давайте сделаем так, чтобы категории всегда загружались вместе со своими постами:
<?php
class Category extends Model
{
protected $with = ['post'];
public function posts()
{
return $this->hasMany(Post::class);
}
}
?>
Теперь при переборе постов лишнего запроса не будет:
<?php
class CategoryController extends Controller
{
public function show()
{
$category = Category::find(1);
foreach ($category->posts as $post) {
dump($post); // лишнего запроса не будет
}
}
}
?>