В момент запуска ->get()
возвращается коллекция, и ->orderBy()
не является функцией, которую вы можете запустить в коллекции со всеми доступными функциями, перечисленными в документе.
Выполучил ваш ->get()
до вашего ->orderBy()
, и это не сработает.Кроме того, вам не нужно ->get()
, поскольку у вас есть ->paginate(9)
Вам необходимо:
$offers = Offer::join('offer_speciality', 'offers.id', 'offer_speciality.offer_id')
->join('specialities', 'offer_speciality.speciality_id', '=', 'specialities.id')
->when($speciality, function($query, $speciality) {
return $query->where('specialities.number', $speciality)
})
->orderBy('created_at','desc')->paginate(9)