Laravel - Seulement mise à jour des champs vides d’un modèle
En Laravel, vous avez la méthode updateOrCreate
. J’ai développé une application et j’ai besoin de mise à jour seulement les blank
propriétés. La logique était la suivante: si l’enregistrement n’existe pas, le code devrait le créer.
Donc, j’ai pensé, si j’ai besoin de la même fonctionnalité dans les suivants models? La solution est arrivée instantanément, utilisez un Trait
Ce trait
prendre les mêmes paramètres comment updateOrCreate
, les attributs de filtration et les valeurs de remplissage. Je vais vous montrer le code.
Avec ça, vous avez juste besoin d’inclure le trait
dans votre modèle Laravel: use SecureUpdatable;
. Aussi, vous aurez la complétion de code pour votre IDE.
Comment ça fonctionne?
Comme vous le voyez, essaie de trouver le modèle existant ou de créer une nouvelle instance avec la fonction statique firstOrNew
. Filtrez ensuite uniquement les valeurs vides avec le blank helper de Laravel.