Eloquent Получить более высокое значение столбца конкретной таблицы. - PullRequest
0 голосов
/ 24 июня 2019

Используя Eloquent в 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;
}  

1 Ответ

1 голос
/ 24 июня 2019

Вы должны проверить, является ли тип / значение одинаковым во всех строках, потому что max должен выполнять эту работу.Но попробуйте отсортировать их в порядке убывания, что означает сначала самый высокий, а затем получите первый элемент, подобный этому:

CV_Outputs::all()
    ->where('book_publication_year', '!=', 'Not defined')
    ->sortByDesc('book_publication_year')
    ->first();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...