Php 雄辩地获取特定表列的更高值

Php 雄辩地获取特定表列的更高值,php,laravel,eloquent,Php,Laravel,Eloquent,在拉拉维尔使用雄辩的语言 要获取列的最小值,此代码起作用: public function getLowestYearBook() { return CV_Outputs::min('book_publication_year'); } 但是为了得到更高的值,它不起作用,我使用了“max”而不是“min” 如何得到更高的价格?谢谢 --------编辑: 问题是有些行中没有定义文本,所以按desc排序返回该行,因为字母大于数字 我通过这样做修复了它: public function g

在拉拉维尔使用雄辩的语言

要获取列的最小值,此代码起作用:

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();

在该列中,我有一些未定义文本的行,所以字母按降序排在数字的前面,然后排除它们。看看我的编辑。啊,我刚注意到你已经修好了。您可以接受我的答案,就像您使用的答案一样:在我回答以下问题之前,我不知道未定义的数据: