Laravel 5

Fixation d'un identifiant qui s'incrémente par la suite de façon dynamique

  • Avatar de watsonweb
    Membre depuis :
    08/02/2017
    Messages :
    130

    Salut à tous!
    Je souhaite faire une fixation au niveau de ma base de donnée sur les identifiants des mes articles.
    en effet, je souhaite un truc de ce genre:
    id=0001, 0002, 000x...
    Es ce possible ? si oui, comment devrais le réaliser avec LARAVEL et phpmyadmin

  • Avatar de KYoann
    Membre depuis :
    11/02/2019
    Messages :
    22

    Pourquoi ne pas le gérer avec un ID auto incrémenté en base de donnée ?

  • Avatar de MakoubaSetho
    Membre depuis :
    16/10/2017
    Messages :
    25

    Sinon, et si tu souhaite fortement conservé le modèle "000x",
    Il te reste possible de créer une petite fonction pour incrémenter ton id à la création.
    Par contre ton champs d'id sera alors un varchar car un int n'as pas pour vocation de retenir les zéros inutiles.

    Je pense à quelque chose du genre :

    //A la création d'un Article :
    //Parcourir les Articles existant -> retenir les ids dans une variable qui sera donc égale au dernier id entré
    //Tronquer ce résultat (fonction "explode" de php) pour connaitre la fin de l'id
    //Faire que si le dernier chiffre = 9, alors on passe à "0010" -- Si = 19, "0020", etc
    //Et incrémenter de 1 sinon ; Avant de reconstruire l'id final

    Il ne sera pas possible d'utiliser l'auto incrément en base sur autre chose qu'un INT indexé, donc le seul moyen de conserver ton préfix à "000" est de toi même gérer l'incrémentation de la valeur

Vous ne pouvez pas répondre à ce sujet.