Je voudrais récupérer le dernier fichier inséré dans ma table. Je sais que la méthode first()
existe et vous fournit le premier fichier de la table mais je ne sais pas comment obtenir le dernier insert.
Réponses
Trop de publicités?Si vous cherchez la ligne réelle que vous venez d'insérer avec Laravel 3 et 4 lorsque vous effectuez un save
o create
action sur un nouveau modèle comme :
$user->save();
-ou-
$user = User::create(array('email' => 'example@gmail.com'));
alors l'instance de modèle insérée sera renvoyée et pourra être utilisée pour d'autres actions telles que la redirection vers la page de profil de l'utilisateur qui vient d'être créé.
La recherche du dernier enregistrement inséré fonctionne sur les systèmes à faible volume, presque tout le temps, mais si vous avez plusieurs insertions en même temps, vous pouvez finir par interroger pour trouver le mauvais enregistrement. Cela peut vraiment devenir un problème dans un système transactionnel où plusieurs tables doivent être mises à jour.
Sachez que last()
, latest()
ne sont pas déterministes si l'on recherche un enregistrement séquentiel ou événementiel/ordonné. Les derniers/récents enregistrements peuvent avoir exactement la même valeur. created_at
l'horodatage, et ce que vous obtenez en retour n'est pas déterministe. Alors faites orderBy(id|foo)->first()
. Les autres idées/suggestions sur la manière d'être déterministe sont les bienvenues.
- Réponses précédentes
- Plus de réponses