2012-04-10 2 views
1

私はcakephp初心者です。Cakephp Formヘルパー選択ボックスを作る

  class Employee extends AppModel { 
      var $belongsTo = array(
       'Department'=>array(
       'className'=>'Department', 
       'foreignKey'=>'department_id', 
       'conditions'=>null, 
       'fields'=>null 
       ) 
     ); 
      blah-- 

私の従業員モデルは、今や従業員add.ctpに私はすべての部署をリスト選択ボックスを作成します。 私がどのコントローラに入れて見当がつかない

...それは私のコントローラで

$this->set('departments', $this->Employee->Department->find('list')); 

を追加するために私に語った公式のCakePHPを介さ2.1ドキュメント(here) でしたか? EmployeesControllerまたはDepartmentsControllerにありますか?そしてコントローラのどの行動で?あなたは、ほぼ正しかった

(add.ctpに)選択ボックスを作成するビュー

  echo $this->Form->input('Department'); 

答えて

4

に - わずかなグリッチ:

echo $this->Form->input('department_id'); 

、彼らがしているようあなたがフィールドに名前を付ける必要がありますデータベース。 であり、それがBelongsTo関係である場合は、department_idの外部キーが従業員表に存在する必要があります。

PS:ケーキは、$ departmentsを渡すと、この配列がこのフォームフィールドのオプションである必要があることを知っています。追加の設定は必要ありません!

// in your add action at the very bottom 
$departments = $this->Employee->Department->find('list'); 
$this->set(compact('departments')); 
関連する問題