Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > CakePHP
CakePHP Forum d'entraide sur le framework PHP CakePHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/02/2012, 15h56   #1
Borowsky
Membre habitué
 
Inscription : juin 2008
Messages : 222
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : juin 2008
Messages : 222
Points : 147
Points : 147
Par défaut comportement HABTM étrange

Bonjour,

Je débute avec CakePhp et je galère à trouver pourquoi CakePHP se comporte ainsi. Voici mon problème :

J'ai une table ETB, une table SERV et une table ETB_SERV qui fait la jointure entre les 2.

ETB_SERV contient un champ ETB_ID et un champ SERV_ID.

Dans ETB_SERV j'ai des données de type :

ID|ETB_ID|SERV_ID|FIELD1
1 | 102 | 4 | X
2 | 102 | 8 | X
3 | 102 | 15 | X
4 | 102 | 4 | Y

Dans mon modèle ETB, j'ai ceci :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 class Etb extends AppModel {
 
      var $name = 'Etb';
      var $displayField = 'nom';
            var $hasAndBelongsToMany = array(
          'Serv' =>
          array('className' => 'Serv',
            'joinTable' => 'etb_serv',
            'foreignKey' => 'etb_id',
            'associationForeignKey' => 'serv_id'
          )
    );
    }
Le problème c'est dans mon controller, quand je fais ceci :

Code :
 $this->Etb->find('first', array('conditions' => array('Etb.id ='.$idEtb),'order'=>'Etb.id'));
Je ne récupère pas la ligne d'ID 4 de ma table ETB_SERV. En gros, si j'ai plusieurs fois un SERV_ID de même valeur, je ne récupère que le premier alors qu'il me les faudrait tous...

Est-ce normal ? Que dois-je faire pour tous les avoir ? Je vous remercie d'avance.
Borowsky est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2012, 13h07   #2
kiradeus
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 43
Points : 11
Points : 11
Tu devrais pas faire un find 'all' au lieu de find 'first' ?
kiradeus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h38.


 
 
 
 
Partenaires

Hébergement Web