Laravel Collection SortByDesc Tutorial with Examples

Admin   Laravel   51  2020-08-03 14:58:03

Hi Artisan,

In this tutorial, i will show you laravel collection sort by desc. I’m going to show you about laravel eloquent sortbydesc. you can understand a concept of sortbydesc laravel example. We will use laravel collection sort by name.

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

1) Example 1: Laravel Collection Sort By Desc Simple Example

2) Example 2: Laravel Collection Sort By Desc Count

3) Example 3: Laravel Collection Sort By Date Desc

4) Example 4: Laravel Collection Sort By Desc Multiple Coulmns

5) Example 5: Laravel Collection Sort By Desc Relation

Example 1: Laravel Collection Sort By Desc 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->sortByDesc('name');

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[0] => Array

(

[id] => 1

[name] => Hardik

[email] => [email protected]

)

[2] => Array

(

[id] => 3

[name] => Balo

[email] => [email protected]

)

[1] => Array

(

[id] => 2

[name] => Ankit

[email] => [email protected]

)

)

)

Example 2: Laravel Collection Sort By Desc 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->sortByDesc(function ($product, $key) {

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

});

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[2] => Array

(

[id] => 3

[name] => Apple

[models] => Array

(

[0] => s5

[1] => s6

[2] => s7

)

)

[0] => Array

(

[id] => 1

[name] => Vivo

[models] => Array

(

[0] => v11

[1] => v85

)

)

[1] => Array

(

[id] => 2

[name] => Appo

[models] => Array

(

[0] => a23

)

)

)

)

Example 3: Laravel Collection Sort By Date Desc

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->sortByDesc('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

)

[2] => Array

(

[id] => 3

[name] => Balo

[created_date] => 2020-04-03

)

[1] => Array

(

[id] => 2

[name] => Ankit

[created_date] => 2020-04-01

)

)

)

Example 4: Laravel Collection Sort By Desc Multiple Coulmns

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->sortByDesc(function ($product, $key) {

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

});

$sorted->all();

dd($sorted);

}

Output:

Illuminate\Support\Collection Object

(

[items:protected] => Array

(

[2] => Array

(

[id] => 3

[name] => Balo

[city] => Rajkot

)

[1] => Array

(

[id] => 2

[name] => Ankit

[city] => Rajkot

)

[0] => Array

(

[id] => 1

[name] => Hardik

[city] => Mumbai

)

[3] => Array

(

[id] => 4

[name] => Ankit

[city] => Mumbai

)

)

)

Example 5: Laravel Collection Sort By Desc Relation

public function index()

{

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

return $query->auther->name;

})

->all();

}

I hope it can help you...