filter collection laravel code example

Example 1: collection laravel filter

$collection = collect([1, 2, 3, 4]);

$filtered = $collection->filter(function ($value, $key) {
    return $value > 2;
});

$filtered->all();

// [3, 4]

Example 2: laravel collection group by

$collection = collect([
    ['account_id' => 'account-x10', 'product' => 'Chair'],
    ['account_id' => 'account-x10', 'product' => 'Bookcase'],
    ['account_id' => 'account-x11', 'product' => 'Desk'],
]);

$grouped = $collection->groupBy('account_id');

$grouped->toArray();

/*
    [
        'account-x10' => [
            ['account_id' => 'account-x10', 'product' => 'Chair'],
            ['account_id' => 'account-x10', 'product' => 'Bookcase'],
        ],
        'account-x11' => [
            ['account_id' => 'account-x11', 'product' => 'Desk'],
        ],
    ]
*/

Example 3: collection map laravel

// The array we're going to return
    $data = [];    
// Query the users table
$query = users::where('id', 1)->get();

// Let's Map the results from [$query]
$map = $query->map(
    function($items){
          $data['user_firstName'] = $items->firstName;
          $data['user_lastName'] = $items->lastName;
          return $data;
        }
    );

return $map;

Example 4: laravel collection methods

$collection = collect([1,2,3,4]);

$collection->each(function($item){
    return $item*$item;
});

// [1,4,9,16]

Example 5: filter laravel

public function index()
{
    $myStudents = [
        ['id'=>1, 'name'=>'Hardik', 'mark' => 80],
        ['id'=>2, 'name'=>'Paresh', 'mark' => 20],
        ['id'=>3, 'name'=>'Akash', 'mark' => 34],
        ['id'=>4, 'name'=>'Sagar', 'mark' => 45],
    ];
  
    $myStudents = collect($myStudents);
   
    $passedstudents = $myStudents->filter(function ($value, $key) {
        return data_get($value, 'mark') > 34;
    });
   
    $passedstudents = $passedstudents->all();
   
    dd($passedstudents);
}

Tags:

Php Example