Wie Abfragen ich eine Tabelle mit HABTM Beziehung basiert, während zusätzliche Bedingungen in CakePHP bietet?

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

  •  03-07-2019
  •  | 
  •  

Frage

Wie kann ich dies in CakePHP tun: Ich bin mit zwei Tabellen (regions und safaris) mit einer many-to-many-Beziehung. Die Tabellen werden durch eine andere Tabelle namens regions_safaris verbunden (mit den Bereichen region_id & safari_id). Ich möchte alle safaris Treffen einen bestimmten Kriterien wie Dauer von 5 Tagen und in einer bestimmten Region holen. Dies sollte in CakePHP eingeführt werden

War es hilfreich?

Lösung

juma,

Bitte wider so schnell mehrmals veröffentlichen.

Für weitere Referenz finden Sie in der Cakebook Hat-And-gehört-zu-viele-Beziehung. Es ist genau das, was Sie beschreiben. Siehe http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM

Kurz gesagt, vorausgesetzt, Sie den Kuchen Modelle richtig eingerichtet haben (mit der HABTM Beziehung zwischen den Regionen festgelegt, Safaris und regions_safaris, überprüfen Sie den Index ‚joinTable‘ auf dem var $ hasAndBelongsToMany Array, in den Modellen), würden Sie dies tun :

   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
   }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top