Подтвердить что ты не робот

Найти максимальное значение столбца в laravel

Проблема началась, потому что у меня есть таблица (клиенты), в которой первичный ключ не является автоинкрементным. Я хочу выбрать максимальное значение, хранящееся в базе данных столбца. Как этот выберите, но с красноречивым orm (Laravel):

SELECT MAX(Id) FROM Clientes

Как я могу сделать в?

Я старался:

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

Я предпочитаю не делать простой необработанный "SELECT MAX (ID) FROM Clientes"

Я не могу сделать это.

Спасибо всем!

4b9b3361

Ответ 2

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