在laravel中查找列的最大值

Gui*_*ffa 28 laravel eloquent laravel-5.3

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

SELECT MAX(Id) FROM Clientes
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我试过了:

Cliente::with('id')->max(id)
Cliente::select('id')->max(id)
Run Code Online (Sandbox Code Playgroud)

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

小智 15

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

$maxValue = Cliente::max('id');
Run Code Online (Sandbox Code Playgroud)

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

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

或只是价值

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

或者,如果您有一个created_at日期列,您可以获得这样的值

$maxValue = Cliente::latest()->value('id');
Run Code Online (Sandbox Code Playgroud)

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


ras*_*dcs 9

    $maxValue = DB::table('Clientes')->max('id');
Run Code Online (Sandbox Code Playgroud)


小智 7

Cliente::where('column_name', $your_Valu)->max('id') // You get any max column  
Run Code Online (Sandbox Code Playgroud)

  • 请通过编辑为您的答案添加一些解释,以便其他人可以从中学习 (5认同)