Bonsoir,

Je souhaiterai savoir comment faire pour faire une requête dans une boucle. Peut-on faire un $this->Users->find()->where(['id'] => id_donner_par_l'iteration_de_la_boucle) dans la vue directement ? Si non quelle est pour vous la meilleur solution ?

1 réponse


Ferias Quarante
Réponse acceptée

Bonjour,
Si tu te bases sur l'id tu peux faire de 2 façons différentes, avec quelque chose comme çà :

// 1 - avec une boucle et un get sur l'id 
foreach($ids as $id) {
    $user = $this->Users->get($id);
    // traitement
}

// 2 - avec un find suivi d'une boucle
$users = $this->Users->find('all', ['condition' => ['id IN' => $ids]]);
foreach($users as $user) {
    // traitement
}

La seconde solution est plus performante je pense étant donné qu'il n'y a qu'une seule requête.