Salut tout le monde,
J'aimerais savoir s'il y a une méthode pour sélectionner un id existant de maniere aléatoire dans une table .
Je fais un site où il y a un profil affiché en page d'accueil, et j'aimerais que le profil ne soit pas le même.
j'ai essayé avec un
$count = $this->User->find('count');
$rand = rand(1, $count);
while ($this->User->id == $rand) {
return true;
}
$this->set('rand', $rand);
mais le probleme c'est que si par exemple j'ai deux profils dans ma base. Un qui a l'id 1 et l'autre 11. le $count va me sortir 2.
Du coup le $rand va etre entre 1 et 2, donc ca sera faussé.
Merci pour votre aide :)
La solution est con, mais faut-il encore la connaitre ! C'est une truc sur le quel j'étais tomber il y a de cela bien longtemps, ou les Dieu étaient légion, et où l'apocalypse était pris plus qu'au sérieux...
M'enfin toujours est-il que c'est un ORDER BY RAND()
dans ta requête qu'il faut placer, après pour l'appliquer avec l'ORM de Cake, je ne serais te dire.
EDIT: Normalement, un
$this->User->find('first', 'order' => 'rand()']);
devrais faire l'affaire.
Merci !!!! J'ai juste rajouté 'fields' => 'id' pour récupérer que l'id parce que je n'ai besoin que de ca .
Mais c'est exactement ce que je cherchais! C'est vrai que c'est tout simple mais fallait il encore le savoir.
Bonne soirée =))