Le problème a commencé parce que j'ai une table (Clientes), dans laquelle la clé primaire n'est pas auto-incrémentée. Je veux sélectionner la valeur maximale stockée dans une base de données de colonnes. Comme ceci, sélectionnez, mais avec orm éloquent (Laravel):
SELECT MAX(Id) FROM Clientes
Comment puis-je faire dans?
J'ai essayé:
Cliente::with('id')->max(id)
Cliente::select('id')->max(id)
Je préfère ne pas faire un simple "SELECT MAX (ID) FROM Clientes"
Je ne peux pas le faire.
Merci a tous!
La syntaxe correcte est la suivante:
Cliente::max('id')
Laravel rend cela très facile, dans votre cas, vous utiliseriez
$maxValue = Cliente::max('id');
Mais vous pouvez aussi récupérer le dernier enregistrement de la table, qui sera aussi la plus haute valeur
$newestCliente = Cliente::orderBy('id', 'desc')->first(); // gets the whole row
$maxValue = $newestCliente->id;
ou juste pour la valeur
$maxValue = Cliente::orderBy('id', 'desc')->value('id'); // gets only the id
Ou, si vous avez une colonne created_at
avec la date, vous pouvez obtenir la valeur suivante
$maxValue = Cliente::latest()->value('id');
Documentation pertinente Laravel: https://laravel.com/docs/5.5/queries#aggregates