How to sort records in alphabetical order in Laravel

Viewed 44877

How to sort records in alphabetical order in laravel?

public function index()
{
    $comproducts = Comproduct::paginate(3);

    $items = Item::orderBy('name')->all();        

    return view('computer', compact(['comproducts', 'items']));

}

This is not working correctly. This shows

Call to undefined method Illuminate\Database\Query\Builder::all()

this error. How can i fix this?

4 Answers

I use get() instead , you can't modify query with method all() and also it is static function

  $items = Item::orderBy('name')->get(); 

Hi Please find an answer based on eloquent query laravel

Table: Users Columns:id,name,class_id

$users = DB::table('users')->whereIn('class_id', [1, 2, 3])->orderBy('name', 'ASC')->paginate(50);

you can do any of the following depending in the order that you wish to sort

this for ascending order

 $students = Student::whereId($id)->orderBy('name')->get()->all();

this for Descending order

 $students = Student::whereId($id)->orderByDesc('name')->get()->all();
Related