Un moyen d'en trouver un dans CakePHP
Le modèle de la méthode read() dans CakePHP ne renvoie qu'un seul dossier, donc nous n'avons pas besoin de boucle autour du résultat en tant que follws:
//In Controller
$item = $this->Item->read(null,$id);
$this->set(compact('item'));
//In View
echo $item['Item']['title'];
Cependant, je voudrais être en mesure de contrôler le résultat par le biais de certaines conditions et de la méthode read() n'offre pas la possibilité d'ajouter des conditions, donc je dois utiliser la méthode find() comme suit:
//In controller
$item = $this->Item->find('all',array('conditions' => array('id' => $id, 'lock' => 'yes')));
$this->set(compact('item'));
//In View
echo $item[0]['Item']['title'];
Est là toute solution permet de trouver de retourner un seul enregistrement, c'est à dire je n'ai pas à traiter avec $item[0] et juste $item comme le premier exemple?
Vous devez vous connecter pour publier un commentaire.
Ne jamais utiliser read(), utilisez toujours trouver la(première):
voir http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#find-first
read() est considérées mauvaise pratique car il modifie le modèle lui-même et n'a généralement plus de mal que de bien, surtout si vous ne savez pas ou attendre les résultats précis de cette méthode.