Guido Caffa
Guido Caffa

Reputation: 1251

Find max value of a column in laravel

The problem started because I have a table (Clientes), in which the primary key is not auto-incremental. I want to select the max value stored in a column database.

Like this select, but with eloquent ORM (Laravel):

SELECT MAX(Id) FROM Clientes

How can I do this?

I tried:

Cliente::with('id')->max(id);
Cliente::select('id')->max(id);

I prefer not to make a simple raw SELECT MAX(ID) FROM Clientes

I cannot make it.

Thanks all!

Upvotes: 82

Views: 210392

Answers (6)

engr.ukairo
engr.ukairo

Reputation: 68

$maxid = Cliente::max('id');

You can also use orderByDesc:

$maxid = Cliente::orderByDesc('id')->first();

Read more here -> https://laravel.com/docs/11.x/queries#aggregates

Upvotes: 0

Narendra
Narendra

Reputation: 21

We can use the following code :

 $min_id = DB::table('table_name')->max('id');

https://laravel.com/docs/8.x/queries#aggregates

Upvotes: 2

rashedcs
rashedcs

Reputation: 3725

    $maxValue = DB::table('Clientes')->max('id');

Upvotes: 13

Md Hasan
Md Hasan

Reputation: 99

Cliente::where('column_name', $your_Valu)->max('id') // You get any max column  

Upvotes: 8

Matthew Mathieson
Matthew Mathieson

Reputation: 559

Laravel makes this very easy, in your case you would use

$maxValue = Cliente::max('id');

But you can also retrieve the newest record from the table, which will be the highest value as well

$newestCliente = Cliente::orderBy('id', 'desc')->first(); // gets the whole row
$maxValue = $newestCliente->id;

or for just the value

$maxValue = Cliente::orderBy('id', 'desc')->value('id'); // gets only the id

Or, if you have a created_at column with the date you could get the value like this

$maxValue = Cliente::latest()->value('id');

Relevant Laravel Documentation: https://laravel.com/docs/5.5/queries#aggregates

Upvotes: 51

Alexey Mezenin
Alexey Mezenin

Reputation: 163768

The correct syntax is:

Cliente::max('id')

https://laravel.com/docs/5.5/queries#aggregates

Upvotes: 159

Related Questions