在laravel中查找列的最大值

问题描述 投票:13回答:2

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

SELECT MAX(Id) FROM Clientes

我怎么办?

我试过了:

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

我不想做一个简单的原始“SELECT MAX(ID)FROM Clientes”

我做不到。

谢谢大家!

laravel eloquent laravel-5.3 laravel-eloquent
2个回答
47
投票

正确的语法是:

Cliente::max('id')

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


12
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.