Laravel Collection SortBy Tutorial with Examples

By Hardik Savani | April 15, 2020 | Category : Laravel


Hi Artisan,

If you need to see example of laravel collection sort by example. i explained simply step by step laravel collection sort by two columns. we will help you to give example of laravel collection sort by date. step by step explain laravel collection sort by name.

I will give you list of examples of sort by colletion in laravel. so you can easily use it with your laravel 5, laravel 6, laravel 7 and laravel 8 application. so let's see bellow example that will helps you lot.

1) Example 1: Laravel Collection Sort By Simple Example

2) Example 2: Laravel Collection Sort By Count

3) Example 3: Laravel Collection Sort By Date

4) Example 4: Laravel Collection Sort By Two Fields

5) Example 5: Laravel Collection Sort By Relation

Example 1: Laravel Collection Sort By Simple Example

public function index()

{

$collection = collect([

['id' => 1, 'name' => 'Hardik', 'email' => '[email protected]'],

['id' => 2, 'name' => 'Ankit', 'email' => '[email protected]'],

['id' => 3, 'name' => 'Balo', 'email' => '[email protected]'],

]);

$sorted = $collection->sortBy('name');

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[1] => Array

(

[id] => 2

[name] => Ankit

[email] => [email protected]

)

[2] => Array

(

[id] => 3

[name] => Balo

[email] => [email protected]

)

[0] => Array

(

[id] => 1

[name] => Hardik

[email] => [email protected]

)

)

)

Example 2: Laravel Collection Sort By Count

public function index()

{

$collection = collect([

['id' => 1, 'name' => 'Vivo', 'models' => ['v11', 'v85']],

['id' => 2, 'name' => 'Appo', 'models' => ['a23']],

['id' => 3, 'name' => 'Apple', 'models' => ['s5', 's6', 's7']],

]);

$sorted = $collection->sortBy(function ($product, $key) {

return count($product['models']);

});

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[1] => Array

(

[id] => 2

[name] => Appo

[models] => Array

(

[0] => a23

)

)

[0] => Array

(

[id] => 1

[name] => Vivo

[models] => Array

(

[0] => v11

[1] => v85

)

)

[2] => Array

(

[id] => 3

[name] => Apple

[models] => Array

(

[0] => s5

[1] => s6

[2] => s7

)

)

)

)

Example 3: Laravel Collection Sort By Date

public function index()

{

$collection = collect([

['id' => 1, 'name' => 'Hardik', 'created_date' => '2020-04-05'],

['id' => 2, 'name' => 'Ankit', 'created_date' => '2020-04-01'],

['id' => 3, 'name' => 'Balo', 'created_date' => '2020-04-03'],

]);

$sorted = $collection->sortBy('created_date');

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[0] => Array

(

[id] => 1

[name] => Hardik

[created_date] => 2019-04-05

)

[1] => Array

(

[id] => 2

[name] => Ankit

[created_date] => 2020-04-01

)

[2] => Array

(

[id] => 3

[name] => Balo

[created_date] => 2020-04-03

)

)

)

Example 4: Laravel Collection Sort By Two Fields

public function index()

{

$collection = collect([

['id' => 1, 'name' => 'Hardik', 'city' => 'Mumbai'],

['id' => 2, 'name' => 'Ankit', 'city' => 'Rajkot'],

['id' => 3, 'name' => 'Balo', 'city' => 'Rajkot'],

['id' => 4, 'name' => 'Ankit', 'city' => 'Mumbai'],

]);

$sorted = $collection->sortBy(function ($product, $key) {

return $product['city'].$product['name'];

});

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[3] => Array

(

[id] => 4

[name] => Ankit

[city] => Mumbai

)

[0] => Array

(

[id] => 1

[name] => Hardik

[city] => Mumbai

)

[1] => Array

(

[id] => 2

[name] => Ankit

[city] => Rajkot

)

[2] => Array

(

[id] => 3

[name] => Balo

[city] => Rajkot

)

)

)

Example 5: Laravel Collection Sort By Relation

public function index()

{

$posts = Post::get()->sortBy(function($query){

return $query->auther->name;

})

->all();

}

I hope it can help you...




Hardik Savani
My name is Hardik Savani. I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.
Follow Me: Github Twitter
***Do you want me hire for your Project Work? Then Contact US.

We are Recommending you: