Comment interroger une table avec une relation HABTM tout en fournissant des conditions supplémentaires dans CakePHP?

StackOverflow https://stackoverflow.com/questions/602227

  •  03-07-2019
  •  | 
  •  

Question

Comment puis-je faire cela dans CakePHP: J'utilise deux tables ( régions et safaris ) ayant une relation plusieurs à plusieurs. Les tables sont jointes par une autre table appelée regions_safaris (avec les champs id_région et safari_id ). Je souhaite récupérer tous les safaris répondant à des critères donnés, tels que des durées de 5 jours et dans une région donnée. Cela devrait être implémenté dans CakePHP

Était-ce utile?

La solution

juma,

Veuillez ne pas poster plusieurs fois si rapidement.

Pour plus de références, veuillez consulter la relation Cakebook Has-And-Belongs-To-Many. C'est exactement ce que vous décrivez. Voir http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM

En résumé, si vous avez configuré correctement les modèles Cake (avec la relation HABTM établie entre les régions, les safaris et les régions_safaris; vérifiez l’index 'joinTable' sur le tableau var $ hasAndBelongsToMany, dans les modèles), vous le feriez :

   class SafariModel extends AppModel
   { 
     var $name = 'Safari';
     var $hasAndBelongsToMany = array( 'Tag'=>array( ..., 'joinTable'=>'regions_safaris', ... );

     function findSafaris( $duration = 5, $region = null )
     {
       return $this->find('all', array('conditions'=>array('Region.region_name'=>$region, 'Safari.duration'=>$duration) );
     }
     ... // rest of class
   }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top