Empfehlungen: Erweiterte Suche

Abfrage zu bestimmten Models ohne recursive

Datenbankobjekte strukturieren und validieren

Abfrage zu bestimmten Models ohne recursive

Beitragvon Dennis84 » So 20. Jun 2010, 13:18

Hallo,

ich erhalte nach einer HABTM-Beziehung (Post--PostTerm--Term)
Code: Alles auswählen

...
[Term] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [parent_id] =>
                    [vocabulary_id] => 1
                    [name] => News
                    [slug] => news
                    [description] => Category for News
                    [lft] => 1
                    [rght] => 2
                    [status] => 1
                    [updated] => 2010-05-24 19:04:21
                    [created] => 2010-05-24 12:27:18
                    [PostTerm] => Array
                        (
                            [id] => 6
                            [post_id] => 2
                            [vocabulary_id] => 0
                            [term_id] => 1
                            [weight] =>
                        )
                )
        )
 


jetzt möchte ich aber noch eine Abfrage von Vocabulary in Beziehung zu den terms.
Ich hab das erstmal gelöst mir recursive = 2. Dabei findet er aber alle Beziehungen der anderen models die ich nicht brauche. Gibt es eine andere Möglichkeit nur Vocabulary einzuschließen?

so etwa sollte es aussehen (mit recursive = 2)
Code: Alles auswählen

[Term] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [parent_id] =>
                    [vocabulary_id] => 1
                    [name] => News
                    [slug] => news
                    [description] => Category for News
                    [lft] => 1
                    [rght] => 2
                    [status] => 1
                    [updated] => 2010-05-24 19:04:21
                    [created] => 2010-05-24 12:27:18
                    [PostTerm] => Array
                        (
                            [id] => 6
                            [post_id] => 2
                            [vocabulary_id] => 0
                            [term_id] => 1
                            [weight] =>
                        )
                    [Vocabulary] => Array
                        (
                            [id] => 1
                            [name] => Categories
                            [alias] => categories
                            [description] => Taxonomy Category
                            [plugin] =>
                            [term_count] => 1
                            [weight] =>
                            [updated] => 2010-05-24 19:12:18
                            [created] => 2010-05-24 00:49:46
                        )
                )
        )
 


Ich hoffe ich hab mich einigermaßen verständlich ausgedrückt.
Dennis84
 
Beiträge: 8
Registriert: Di 2. Feb 2010, 10:45
Wohnort: Köln
CakePHP-Version: 1.3.x
OS: ubuntu

Re: Abfrage zu bestimmten Models ohne recursive

Beitragvon mbrod » So 20. Jun 2010, 13:47

Eventuell mit:
Code: Alles auswählen
$this->Term->Vocabulary->find(...

Und mit recursive bis -1 probieren, ob weniger Abfragen stattfinden.

Ich habe auch schon festgestellt, dass bei umfangreicheren Model-Beziehungen viele Daten zurückgegeben werden, die man im Moment nicht braucht. Auf der anderen Seite: Wenn man sich die Antwortzeiten der Abfragen anschaut, bin ich inzwischen geneigt darüber großzügig hinwegzusehen.
mbrod
 
Beiträge: 193
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: Abfrage zu bestimmten Models ohne recursive

Beitragvon Dennis84 » So 20. Jun 2010, 18:07

mit recursive = 1 findet er das nicht und an ein weiteres find() hatte ich auch schon gedacht aber wollte das lieber komplett über ein find bzw. read lösen.
Dennis84
 
Beiträge: 8
Registriert: Di 2. Feb 2010, 10:45
Wohnort: Köln
CakePHP-Version: 1.3.x
OS: ubuntu

Re: Abfrage zu bestimmten Models ohne recursive

Beitragvon Dennis84 » So 20. Jun 2010, 19:06

benutze jetzt den Containable Behavior, muss allerdings alle Models einschließen die ich verwenden möchte
Dennis84
 
Beiträge: 8
Registriert: Di 2. Feb 2010, 10:45
Wohnort: Köln
CakePHP-Version: 1.3.x
OS: ubuntu

Re: Abfrage zu bestimmten Models ohne recursive

Beitragvon euromark » So 20. Jun 2010, 19:38

das ist allerdings richtig :)
euromark
 
Beiträge: 617
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.1
OS: Windows


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron