2016-08-12 2 views
0

Ich möchte die beiden anderen Tabellen im aktuellen Controller verbinden und das Ergebnis in die aktuelle Steuertabelle einfügen. Das ist mein Code ist aber does'nt Arbeit:Wie verbinde ich die beiden anderen Tabellen im aktuellen Controller in CakePHP3?

class UesrsController extends AppController { 

    public function addRoom() { 
     $rooms = TableRegistry::get("Rooms"); 
     $row = $rooms 
      ->find('list', array('fields' => 'id')) 
      ->join([ 
       'table' => 'dormitories', 
       'conditions' => ['dormitories.id=rooms.dormitory_id'] 
      ]) 
      ->where(['dormitories.name =' => 'aaa']) 
     ; 
     $this->set('row', $row); 
     return $rooms; 
    } 
} 

In obigen Code, möchte ich zwischen Schlafsälen und Räumen verbinden und den Nutzern Tabelle speichern führen.

Antwort

0

Man könnte so etwas wie dies versuchen:

Und ich denke, Sie verbinden eine Art hinzufügen müssen. Aber ich kann mich da irren.

class UesrsController extends AppController { 

public function addRoom() { 
    $rooms = TableRegistry::get("Rooms"); 
    $rooms 
     ->find('list', array('fields' => 'id')) 
     ->join([ 
      'table' => 'dormitories', 
      'type' => 'LEFT', 
      'conditions' => ['dormitories.id=rooms.dormitory_id', 
        'dormitories.name =' => 'aaa' 
       ] 
     ]) 
    ; 
} 
} 
Verwandte Themen