Home > Back-end >  BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::orderBy does not exist
BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::orderBy does not exist

Time:09-25

When i try ordernate the output data using orderBy() eloquent's method, i view the follow message: BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::orderBy does not exist. in file C:\xampp\htdocs\cerusbank\vendor\laravel\framework\src\Illuminate\Macroable\Traits\Macroable.php on line 103.

The following is my method I'm working on:

public function getCardStatements(Request $request){
       if($request->id){
           $cardStatements = Card::with('statements')->where('id', $request->id)->get();
           return response()->json($cardStatements->orderBy('statements.registration_date', 'asc'));
        }
        return response()->json(array('return'=>false));

CodePudding user response:

After using ->get(), this becomes a collection. You will need to use methods from collection. orderBy doesnt exist in collection. You can use sortBy instead.

Here are all the available methods on collection you can use. https://laravel.com/docs/8.x/collections#available-methods

  • Related