Как подсчитать красноречие отношения без проблемы N + 1 и загрузить всю модель?

Я показываю список категорий, и количество статей в каждой категории. Я получаю ожидаемый результат, но у меня проблема с N + 1.

Мои CategoriesController Функция индексации:

 public function index() { return View::make('categories.index', [ 'articleCategories' => Category::where('type', 'articles')->orderBy('name')->get(), ]); } 

Модель Category имеет много отношения к статьям:

 public function articles() { return $this->hasMany('Article'); } 

Мои categories.index :

 @foreach($articleCategories as $articleCategory) <p> {{ HTML::link(URL::route('articles.category', array('category' => Str::slug($articleCategory->name))), $articleCategory->name) }} {{ $articleCategory->articles->count() }} </p> @endforeach 

Изменить: он работает, если я хочу загрузить все связанные статьи, но так как мне нужна только статья count pr category, это кажется излишним. Будете ли вы загружать статьи и делать ->count() влиять на производительность? Или это лучший способ сделать это?