Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-10-2009 18:12:41

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

fonction find de zend_db_table

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

 

#2 22-10-2009 21:14:49

Junk
Membre
Lieu: Paris
Date d'inscription: 18-09-2009
Messages: 27

Re: fonction find de zend_db_table

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é smile

Hors ligne

 

#3 23-10-2009 10:45:29

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: fonction find de zend_db_table

Merci je savais que cette façon de faire existe mais je pensais aussi que find pourrait faire l'affaire.Merci

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages