在Laravel中使用口才,
要获得列的最小值,此代码可以工作:
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;
}
答案 0 :(得分:1)
您应该检查所有行中的类型/值是否相同,因为max
应该可以完成这项工作。但是,请尝试按降序对它们进行排序,这意味着首先是最高的,然后得到这样的第一个元素:
CV_Outputs::all()
->where('book_publication_year', '!=', 'Not defined')
->sortByDesc('book_publication_year')
->first();