Maison > Questions et réponses > le corps du texte
Je souhaite récupérer le dernier fichier inséré dans ma table. Je sais que la méthode first()
existe et vous donne le premier fichier du tableau, mais je ne sais pas comment récupérer le dernier insert.
P粉0200855992023-10-12 07:17:19
Utilisez les dernières étendues fournies par Laravel prêtes à l'emploi.
Model::latest()->first();
De cette façon, vous ne récupérerez pas tous les enregistrements. Meilleur raccourci pour orderBy.
P粉9330033502023-10-12 00:49:07
Vous devez trier selon les mêmes champs que vous triez actuellement, mais par ordre décroissant.
Par exemple, si vous aviez un horodatage appelé upload_time
une fois le téléchargement terminé, vous pourriez faire quelque chose comme ceci :
Pour les versions antérieures à Laravel 4
return DB::table('files')->order_by('upload_time', 'desc')->first();
Pour Laravel 4 et supérieur
return DB::table('files')->orderBy('upload_time', 'desc')->first();
Pour Laravel 5.7 et supérieur
return DB::table('files')->latest('upload_time')->first();
Cela triera les lignes du tableau des fichiers par heure de téléchargement, décroissant, et prendra la première. Ce sera le fichier le plus récemment téléchargé.