Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe bei cakePHP joins

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe bei cakePHP joins

    Hallo

    ich versuche gerade ein Projekt zum erstenmal mit cakePHP umzusetzen, und bin desshalb noch ziemlich unerfahren mit diesem Framework. Mein Problem ist dabei folgendes :

    Ich habe in einer Datenbank drei Tabellen in einer non-identifying Beziehung:



    Die entsprechenden Models habe ich mir von cake backen lassen, die sollten also stimmen.

    Ich möchte jetzt alle Studenten mit den zugehörigen license_categories auslesen.
    Die Auflösungstabelle liefert mir cake Problemlos mit dem einfachen Aufruf von :


    PHP-Code:
    $this->Student->find 'all'
    PHP-Code:

    [0] => Array
            (
                [
    Student] => Array
                    (
                        [
    id] => 6
                        
    [firstName] => Test
                        
    [lastName] => User
                        
    [email] => tzest@user.de
                        
    [password] =>
                        [
    streetNr] => 561586
                        
    [street] => sdfgionoi
                        
    [zipCode] => 15865
                        
    [city] => edfrgkoil
                        
    [phoneNr] => 478575
                        
    [birthday] => 2015-01-15
                        
    [created] => 2015-01-15 18:45:21
                        
    [modified] => 2015-01-15 18:45:21
                        
    [verified] =>
                    )
     
                [
    StudentIsRegistered] => Array
                    (
                        [
    0] => Array
                            (
                                [
    id] => 6
                                
    [student_id] => 6
                                
    [license_category_id] => 1
                            
    )
     
                    )
     
            ) 
    Jetzt habe ich versucht die Tabelle license_categories zu Joinen mit dem folgenden Aufruf :

    PHP-Code:

    $test 
    $this->Student->find('all',array('joins' => array(
                array(
                        
    'table' => 'student_is_registered',
                        
    'alias' => 'StudentIsRegistered',
                        
    'type' => 'inner',
                        
    'foreignKey' => false,
                        
    'conditions' => array('Student.id = StudentIsRegistered.student_id')
                ),
                array(
                        
    'table' => 'license_categories',
                        
    'alias' => 'LicenseCategory',
                        
    'type' => 'inner',
                        
    'foreignKey' => false,
                        
    'conditions' => array('LicenseCategory.id = StudentIsRegistered.license_category_id')
                )  
            ))); 
    Allerdings liefert es die selbe Ausgabe wie der erste Aufruf, bzw. liefert die Tabelle license_categories gar nicht, weiß jemand was mein Fehler ist ?

  • #2
    Ich könnte wetten es liegt an der Rekursionstiefe, die AFAIK standardmäßig auf 1 steht:

    http://book.cakephp.org/2.0/en/model...html#recursive
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar

    Lädt...
    X