Comment automatiser une action avec Laravel ?

reelsergealain @reelsergealain 65 XP a posé dans

Je souhaite créer un système avec Laravel où, lors de l'inscription d'un utilisateur, un numéro/matricule lui est automatiquement attribué selon un format spécifique, commençant par "EFGT-" suivi de six chiffres aléatoires. Je ne sais pas comment procéder pour réaliser cela.

  • dani03
    dani @dani03
    Réponse acceptée

    salut vu que tu veux commencer par "EFGT-" tu peux l'ajouter à la main et que tu veux numéro unique aléatoire tu peux utiliser la bibliothèque Str de laravel un truc comme Str::random(6) ou celle de php (random_int(100000, 999999);) si tu regarde la doc tu pourras trouver ou utliser les uuids ( Str::uuid()->toString();) toujours avec la bibliothèque Str mais les chiffres sont plus long , dans ta table user tu peux avoir une colonne "matricule" ou tu mettra la valeur $matricule = "EFGT-". Str::random(6)" et dans ton user tu l'ajoute

    $randomNumber = random_int(100000, 999999);
    $matricule = "EFGT-". $randomNumber;
     
    User::create([
    'matricule' => $matricule
    ]);

    après pour qu'il soit unique tu peux vérifier en amont si le matricule existe en faisant user::where('matricule', $matricule)->first(); avant de créer

  • Lol ouais vraiment souvent les choses sont très simple mais cherches ça tes loin, merci beaucoup

Veuillez vous connecter ou créer un compte pour participer à cette conversation.