ChatGPT解决这个技术问题 Extra ChatGPT

在laravel中查找列的最大值

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

喜欢这个选择,但使用雄辩的 ORM (Laravel):

SELECT MAX(Id) FROM Clientes

我怎样才能做到这一点?

我试过了:

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

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

我做不到。

谢谢大家!


A
Alexey Mezenin

正确的语法是:

Cliente::max('id')

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


M
Matthew Mathieson

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


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

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

请通过编辑为您的答案添加一些解释,以便其他人可以从中学习
此外,解释为什么您的代码中有 where 条件
最后,由于您将其过滤到单个列进行计数,因此不起作用。
其中条件是可选的。你可以删除它。
N
Narendra

我们可以使用以下代码:

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

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


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅