Изучаю Laravel, и вот столкнулся с такой проблемой, есть две таблицы(countries и cities), связаны hasMany, нужно достать все страны и города с населением больше 100к, и отсортировать по возрастанию.
Вот так находит всё, но только для страны с id = 1:
$countries = Country::find(1)
->cities()
->where('population', '>', 100000)
->orderBy('population', 'asc')
->get();
dump($countries);
А так не хочет:
$countries = Country::all()
->cities()
->where('population', '>', 100000)
->orderBy('population', 'asc')
->get();
dump($countries);
Ругается на метод cities() который я назвал в модели для связывания таблиц:
public function cities()
{
return $this->hasMany(City::class);
}
Подскажите пожалуйста как правильно построить запрос, что я не так делаю?
Я так понимаю с одной записью работает, а с массивом не хочет. А при переборе циклом я постоянно теряю Города.