在laravel中查找列的最大值

时间:2017-12-20 21:04:48

标签: laravel eloquent laravel-5.3 laravel-eloquent

问题开始是因为我有一个表(Clientes),主键不是自动增量。我想选择存储在列数据库中的最大值。喜欢这个选择,但有雄辩的orm(Laravel):

SELECT MAX(Id) FROM Clientes

我该怎么做?

我试过了:

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

我不想做一个简单的原始" SELECT MAX(ID)FROM Clientes" 我不能。谢谢大家!

5 个答案:

答案 0 :(得分:39)

正确的语法是:

Cliente::max('id')

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

答案 1 :(得分:11)

Laravel使这很容易,在你的情况下你会使用

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

但你也可以从表中检索最新的记录,这也是最高的值

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

或只是值

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

或者,如果您的created_at列中包含日期,则可以获得此值

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

相关的Laravel文档:https://laravel.com/docs/5.5/queries#aggregates

答案 2 :(得分:5)

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

答案 3 :(得分:2)

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

答案 4 :(得分:0)

我们可以使用以下代码:

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

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