Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
est-ce possible d'appeler find() avec une valeur de champ différente de la clé primaire?
par exemple si j'ai une table avec id et trans comme attributs et id étant l'identifiant comment dire par exmple que appelé find pour trouver les lignes de trans='valeur' ?
Hors ligne
Bonsoir,
Ce que tu veux faire n'est pas conceptuellement correct. Je m'explique si tu utilises find() c'est que tu cherches a remonter un enregistrement unique, donc identifié dans ta table par un identifiant unique. Dans ta passerelle vers ta base de donnée tu as du spécifier $_primary qui représente cet identifiant. Quand tu fais find(1) tu veux que la fonction te remonte l'enregistrement unique dont la clé a pour valeur 1.
Dans ton cas tu veux faire une recherche sur un champ qui peut avoir plusieurs fois la même valeur dans ta table. Cette recherche est donc susceptible de te remonter plusieurs enregistrements. Un find() n'est donc pas adapté.
Tu devrais plutôt faire quelque chose comme ceci:
$select = $tablePasserelle->select()->from($tablePasserelle)->where('trans = ? ', valeur);
$resultats = $tablePasserelle->fetchAll($select);
En espérant t'avoir aidé
Hors ligne
Merci je savais que cette façon de faire existe mais je pensais aussi que find pourrait faire l'affaire.Merci
Hors ligne