php - Eloquent 获取特定表列的更高值
问题描述
在 Laravel 中使用 Eloquent,
要获取列的最小值,此代码有效:
public function getLowestYearBook()
{
return CV_Outputs::min('book_publication_year');
}
但是为了获得更高的价值它不起作用,我使用'max'而不是'min'。
如何获得更高的?谢谢!
- - - - - - - - 编辑:
问题是我有一些行中包含“未定义”文本,因此按 desc 排序会返回该行,因为字母“高于”数字。
我通过这样做来修复它:
public function getHighestYearBook()
{
return CV_Outputs::all()
->where('book_publication_year', '<>', "Not defined")
->sortByDesc('book_publication_year')
->first()->book_publication_year;
}
解决方案
您应该检查所有行中的类型/值是否相同,因为max
应该完成这项工作。但是尝试按降序对它们进行排序,这意味着首先是最高的,然后得到第一个元素,如下所示:
CV_Outputs::all()
->where('book_publication_year', '!=', 'Not defined')
->sortByDesc('book_publication_year')
->first();
推荐阅读
- intershop - 从 CatalogCategoryBO 获取 ProjectBO 根据 BusinessObjectRepositoryContext 返回不同的结果
- objective-c - 使用网桥从 .framework 导入文件时出错
- c# - 如何操作复选框中选定值的列表 - C#
- azure - 更改为运行时后 Azure Functions 损坏?
- java - 在 session.close() 之后设置 session=null 有意义吗?
- sequelize.js - 您可以使用 Sequelize.js 隐藏(非自动生成的)连接表的输出吗?
- sql - 如何使用 string_agg 对转换后的字段进行排序
- javascript - 无法解析有效的 JSON
- eclipse - ClassNotFoundException:com.itextpdf.text.Element
- ios - 更改标签栏控制器的选定索引显示黑屏