CakePHP Enthält nicht die Arbeit mit Rekursiven
Wenn ich versuche:
//Removed the limit to ensure that all of the group notes items can be found and collapsed
$recent_notes = $this->User->Note->find('all', array(
'recursive' => 2,
'order' => 'Note.created DESC',
'conditions' => $conditions,
'contains' => array(
'NotesUser', 'Poster', 'Comment' => array('Poster')
)
));
Es keine Begrenzung der Ausgabe auch immer - ich bekomme alle entsprechenden Modell. Wenn ich jedoch nicht angeben recursive
als 2
oder wenn ich geben Sie es als 1
ich vermisse die Comment=>Poster
Modell.
Wie kann ich nur die Modelle, die ich brauche? Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rekursive ignoriert, sobald Sie set enthalten.
Aus der docs:
Stellen Sie sicher, dass die array-Schlüssel als "enthalten", nicht "beinhaltet", wie Sie oben gepostet habe, so wie:
Ich gehe auch davon aus, dass Sie laden und anbringen des containable Verhalten korrekt. Wenn Sie Probleme haben, die Dokumentation ist hier.
Bekommen nur die Modelle, die Sie benötigen, verwenden Sie die [Containable behavior]:
'contain'
singular, NICHT'contains'
plural, wie Sie$actsAs
variable in Ihr Modell:public $actsAs = array('Containable');
Jeder, dass ich weiß, setzt
$this->recursive = -1;
im AppModel... in diesem Fall alles, was zu rekursiven -1, damit die Sie nicht immer haben, um es wieder, es sei denn, Sie möchten, um mehr Daten...und in diesen Fällen ich fast immercontain()
, nicht$recursive
.Wenn Sie tief association, zum Beispiel
Geschichte belongsTo Lager-und Warehouse belongsTo Company
und Sie wollen nur die Lager.Unternehmen, Sie können auch