2009-11-29 45 views
1

我有一個cakephp對象(SecurityPerson),它與其他對象有幾個外鍵關係。CakePHP添加/編輯表單正在工作,除了外鍵引用

這裏是正在生成的下拉爲foriegn鍵引用添加/編輯視圖代碼:

echo $form->input('ContractNumber'); 
echo $form->input('Location'); 

這裏的模型對這些對象的引用:

var $belongsTo = array(
    'ContractNumber' => array(
     'className' => 'ContractNumber', 
     'foreignKey' => 'contract_number_id', 
     'conditions' => '', 
     'fields' => '', 
     'order' => '' 
    ), 
    'Location' => array(
     'className' => 'Location', 
     'foreignKey' => 'location_id', 
     'conditions' => '', 
     'fields' => '', 
     'order' => '' 
    ) 
); 

而這裏的培訓相關添加()控制器的一部分:

if (!empty($this->data)) { 
     $this->SecurityPerson->create(); 
     if ($this->SecurityPerson->save($this->data)) { 
      $this->Session->setFlash(__('The SecurityPerson has been saved', true)); 
      $this->redirect(array('action'=>'index')); 
     } else { 
      $this->Session->setFlash(__('The SecurityPerson could not be saved. Please, try again.', true)); 
     } 
    } 
    $contractNumbers = $this->SecurityPerson->ContractNumber->find('list'); 
    $locations = $this->SecurityPerson->Location->find('list'); 
    $this->set(compact('contractNumbers', 'locations')); 

這一切對我來說很好,includi生成的HTML用於添加和編輯頁面上的下拉菜單。但是......只有空值纔會被添加到sercurity_person行。

任何人都可以很容易地看到發生了什麼事情,或給我一個良好的開始在故障排除?

編輯:我試過到目前爲止:

我試着看SQL查詢。外鍵ID的字段名不會出現在INSERT或UPDATE語句中。

我試過看着$data結構。外鍵引用是這樣的: [ContractNumber] => 2 [位置] => 1

回答

0

好了,原來的表單輸入必須這樣做:

echo $form->input('contract_number_id', array('type' => 'select')); 
    echo $form->input('location_id', array('type' => 'select')); 
相關問題