Bonjour tout le monde,

J'ai besoin de faire appel a vous pour le développement d'un petit système sous Cake PHP V2.

J'ai besoin de générer un code unique et aléatoire à 6 chiffres (sans lettre)

J'ai déjà vu qu'il y avait la fonction uniqid() mais je me demander si Cake ne pouvais pas gérer ca tout seul ?

Et il faut aussi donc à la génération vérifier que ce chiffre n'existe pas en base.

Auriez vous une petite idée de comment je pourrais procéder ?

Merci par avance pour vos réponse.

5 réponses


Antho
Auteur

Merci bien j'avais vu aussi cette option mais je ne vois pas comment la mettre en place car il ne me faut que des chiffres et 6 en plus ...

Car je dois vérifié aussi qu'il soit vraiment unique et qu'il n'existe pas en base.

$uid = intval(String::uuid);
    $valeur = $this->Model->find('count',array('conditions'=>array('id'= $uid)));
    if($valeur !=0){
        echo 'est présent';
    }else{
        echo 'est pas présent';
    }

Si le code est trop grand, tu le concatène ^^

Antho
Auteur

Merci pour le bout de code ;)

Par contre je ne comprends pas pourquoi il me retourne 6 chiffre (c'est bien ce que je voulais)

j'ai compris pour le if else mais comment je lui dis de re-généré un nouveau uuid du coup ???

Le code de Ciloe te permet de savoir si ton uuid existe deja en base... après ne met pas ses echo mais tes bout de code/action que tu souhaite mettre en place.

Pour les 6chiffres ca doit etre la fonction intval(String::uuid) qui te retourne de base 6chiffres... a approfondir