Incrémentation dans la base de donnée mysql avec laravel
Bonjour la famille, j'ai un problème d'incrémentation d'une colonne de la table mysql, le Champ Code doit avoir une nomanclature suivante: E-10002-MP ; je ne sais pas comment incrémenté cela avec les valeurs par exp: E-10003-MP, E-10004-MP, E-10005-MP... je suis sur laravel 8.
Merci d'avance pour vos commentaires.
Tu peux préciser le problème ?
Salut,
Au lieu de faire ça, tu ne peux pas plutôt faire E-{{ $id }}-MP à l'affichage ?
Ou alors tu concerve en champ id en int (avec un premier id à 10001) et, à la création d'un objet, tu va renseigner un champ code avec la structure suivante :
$object->code = "E-".$object->code."MP";
Si c'est juste une incrémentation par rapport au row précédent, tu peux te brancher sur le creating
de ton modèle et faire les actions suivantes, dans l'ordre :
- aller chercher le dernier code avec un one-liner genre
$latestCode = Model::orderBy('code', 'DESC')->first()->value('code')
- si c'est toujours le même format, tu peux enlever le "E-" et "-MP" avec un
str_replace
, sinon le découper avec une regex - incrémenter le code et le définir sur ton modèle en cours de création
Je pense que c'est la méthode la plus propre que tu peux faire coté Laravel.
Vous ne pouvez pas répondre à ce sujet.