问题开始是因为我有一个表(Clientes),主键不是自动增量。我想选择存储在列数据库中的最大值。喜欢这个选择,但有雄辩的orm(Laravel):
SELECT MAX(Id) FROM Clientes
我该怎么做?
我试过了:
Cliente::with('id')->max(id)
Cliente::select('id')->max(id)
我不想做一个简单的原始" SELECT MAX(ID)FROM Clientes" 我不能。谢谢大家!
答案 0 :(得分:39)
答案 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');