Empfehlungen: Erweiterte Suche

In einem view recursive Daten anzeigen

Ausgabedaten formatieren und darstellen

In einem view recursive Daten anzeigen

Beitragvon sebbo.cake » Mi 11. Mai 2011, 14:03

Hallo liebe Cakeianer (nennt man das so?),

ich habe folgendes Problem:
Ich habe eine event-Tabelle, eine Artist-Tabelle und eine zwischentabelle "eventartists" die im Grunde nur event_ids und artist_ids verwaltet um pro event mehrere artists haben zu können und der artist mehrer events haben kann!

kurzfom:
Event hasMany Eventartists / Eventartists belongsTo Event
Artist hasMany Eventartists / Eventartists belongsTo Artist

Die models wurden nun alle angelegt und im Event_View kann ich mir alle Daten von Eventartists anzeigen lassen. Allerdings staht da ja nun nur die artist_id und nicht der name, welcher sich in der Artisttabelle versteckt. Wie also müsste der Befehl lauten um im Controller die Artisttabelle mit auszulesen? Und wie spreche ich dann im view dieses Feld an?

Ich danke euch bereits für eure Hilfe und hoffe ich habe das Problem verständlich geschrieben!

PS.: die Verwendung von containable oder recurive als Schritt in die richtige Richtung habe ich bereits gefunden, die frage ist, wie genau muss ich es verwenden!
sebbo.cake
 
Beiträge: 16
Registriert: Mi 11. Mai 2011, 13:31

Re: In einem view recursive Daten anzeigen

Beitragvon mbrod » Mi 11. Mai 2011, 20:31

Beispiel Controller:
Code: Alles auswählen
    function view($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Invalid event', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->Event->recursive=2;
        $this->set('event', $this->Event->read(null, $id));
    }

Zum Testen im View einfach nur:
Code: Alles auswählen
<?php pr($event);?>

Dann siehst Du das Array, welches dem View übergeben wird. Man kann nun im Controller die Rekursionsstufe niedriger setzen. Entsprechend weniger Daten der zugeordneten Models werden zurückgegeben. Die niedrigste Rekursionsstufe ist -1. Da wird dann kein zugeordnetes Model wiedergegeben.
mbrod
 
Beiträge: 199
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: In einem view recursive Daten anzeigen

Beitragvon sebbo.cake » Mo 15. Aug 2011, 12:22

Super, vielen Dank!

Das einzige Problem ist nun allerdings, dass die Datenbankabfrage bei relativ großen Datenmengen
irgendwann ziemlich langsam wird, oder ist das zu vernachlässigen?

Könnte man evtl. angeben, welche Daten aus den nachfolgenden Models abgefragt werden sollen, sodass man nicht alle Tabellenfelder abgefragt bekommt?
sebbo.cake
 
Beiträge: 16
Registriert: Mi 11. Mai 2011, 13:31

Re: In einem view recursive Daten anzeigen

Beitragvon euromark » Mo 15. Aug 2011, 12:28

google mal nach containable.
ich würd auch nie read() benutzen in dem zusammenhang, immer contain
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: In einem view recursive Daten anzeigen

Beitragvon mbrod » Mo 15. Aug 2011, 14:22

mbrod
 
Beiträge: 199
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X


Zurück zu Views

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast