iki's avatar
Level 3

pagination on sortBy()

hey guys

  $member = auth()->guard('members')->user();
        $doctors = Member::where('type', 0)->where('approve', 1)->where('city_id', '!=', null)->where('id', '!=', auth()->guard('members')->id())->orderByRaw("FIELD(city_id , $member->city_id) DESC")->paginate(10);
        foreach ($doctors as $doctor){
            $doctor['rate'] = $doctor->getRate();
        }

        $doctors = $doctors->sortByDesc('rate');

when i try this , it gives me that error ,

Method Illuminate\Database\Eloquent\Collection::links does not exist. (View: C:\xampp\htdocs\taheel\resources\views\site\pages\order\index.blade.php)


0 likes
1 reply
iki's avatar
iki
OP
Best Answer
Level 3

found the answer to perform pagination on collection

 public function paginate($items, $perPage = 15, $page = null)
    {
        $pageName = 'page';
        $page = $page ?: (Paginator::resolveCurrentPage($pageName) ?: 1);
        $items = $items instanceof Collection ? $items : Collection::make($items);
        return new LengthAwarePaginator(
            $items->forPage($page, $perPage)->values(),
            $items->count(),
            $perPage,
            $page,
            [
                'path' => Paginator::resolveCurrentPath(),
                'pageName' => $pageName,
            ]
        );
    }

Please or to participate in this conversation.