Sometimes, you need to fetch data using id, you can use find() method, but when you need to fetch data from category, age, name then you have to use first() method. But laravel eloquent provide firstWhere() method that will help you to easily fetch match first record.
Note that, The firstWhere
method returns the first element in the collection with the given key / value pair.
Eloquent firstWhere() in laravel. In this tutorial, you will learn about laravel eloquent firstWhere() method with multiple conditions examples.
Laravel Eloquent firstWhere() Examples
Laravel FirstWhere method returns the first element in the collection with the given key / value pair.
Example 1: Basic Usage
Retrieve the first user with a specific name:
$collection = collect([ ['name' => 'Regena', 'age' => null], ['name' => 'Linda', 'age' => 14], ['name' => 'Diego', 'age' => 23], ['name' => 'Linda', 'age' => 84], ]); $collection->firstWhere('name', 'Linda');
Output:
// ['name' => 'Linda', 'age' => 14]
Example 2: Advance Usage
Get the first user with a age greater than and equal to 18:
$collection = collect([ ['name' => 'Regena', 'age' => null], ['name' => 'Linda', 'age' => 14], ['name' => 'Diego', 'age' => 23], ['name' => 'Linda', 'age' => 84], ]); $collection->firstWhere('age', '>=', 18);
Output:
['name' => 'Diego', 'age' => 23],
Example 3:
$collection = collect([ ['name' => 'Regena', 'age' => null], ['name' => 'Linda', 'age' => 14], ['name' => 'Diego', 'age' => 23], ['name' => 'Linda', 'age' => 84], ]); $collection->firstWhere('age');
Output:
// ['name' => 'Linda', 'age' => 14]
Example 4: Dynamic Conditions
Conditions can be dynamically set based on user input or other factors.
$column = 'dynamic_column'; $value = 'dynamic_value'; $record = YourModelName::firstWhere($column, $value);