2009-03-02 6 views
1

Comment puis-je faire cela dans CakePHP: J'utilise deux tables (regions et safaris) ayant une relation many-to-many. Les tables sont jointes par une autre table appelée regions_safaris (avec les zones region_id & safari_id). Je veux aller chercher tous les safaris répondant à un critère donné comme les durées de 5 jours et dans une région donnée. Cela devrait être mis en œuvre dans CakePHPComment interroger une table basée sur une relation HABTM tout en fournissant des conditions supplémentaires dans CakePHP?

+0

Vous avez posé la même question 3 fois dans un délai de plusieurs heures. –

Répondre

2

Juma,

S'il vous plaît plusieurs fois l'affichage resist si rapidement.

Pour plus de référence, 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 bref, en supposant que vous avez correctement la configuration des modèles de gâteau (avec la relation HABTM établie entre les régions, les safaris, et regions_safaris, vérifier l'indice « joinTable » sur le var $ tableau hasAndBelongsToMany, dans les modèles), vous ferait ceci:

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 
    } 
Questions connexes