Q: Laravel eloquent "with()" Есть таблица с навигацией которая ссылается сама на себя по полю parent.
В модели этой таблицы я прописал связь:
public function children(){
   return $this->hasMany('App\Models\Nav', 'parent');
}

Делаем выборку:
$nav = Nav::where(...)->with('children')->orderBy('pos')->get();

Все ок, только children возвращает мне все поля, а мне нужно только id.
В документации говорится что можно указать выбираемое поле вот так: 
$nav = Nav::where(...)->with('children:id')->orderBy('pos')->get();

Или так:
$nav = Nav::where(...)->with('children'=>function($query){
    $query->select('id');
}])->get();

Но в обоих случаях мне children приходит пустой.
Подскажите пожалуйста что не так. Спасибо.

A: Нужно еще указать поле parent, оно используется для hasMany, поэтому этот код должен вернуть то что Вам нужно: 
$nav = Nav::where(...)->with('children:id,parent')->orderBy('pos')->get();

