Mycakephp のバージョンは 2.1.1 です。
saveAll() 関数を使用して、関連するモデルを手動で保存しようとしています
モデル
- 従業員 HasOne アドレス
- 従業員は部門に属しています
だからテーブル
従業員(名、姓、年齢、性別、部門ID)
住所(最初の行、2番目の行、都市、州、employee_id)
従業員の作成 add.ctp には、従業員と住所の入力を受け取るフォームがあります
知っている
$this->Employee->saveAll($this->request->data);
これによりモデルが保存
されますが、関連付けを手動で保存したい
ここで公式のcakephpドキュメントを調べ ていて、このようなことを試しました
$this->Employee->saveAll($data, array(
'fieldList' => array(
'Employee' => array('first_name','last_name','age','sex','department_id'),
'Department' => array('first_line', 'second_line','city','state','employee_id')
)
));
それは機能しておらず、次のエラーがスローされます
注(8): 未定義の変数: data [APP\Controller\EmployeesController.php、118行目]
警告 (2): array_keys() は、パラメーター 1 が配列であることを期待します。[CORE\Cake\Model\Model.php、1996 行] を指定すると、null になります。
私はcakephp初心者です。私を助けてください。
$this->request->data: 配列
(
[Employee] => Array
(
[first_name] => Jack
[last_name] => Robert
[age] => 32
[sex] => 0
[Department] => Development
)
[Address] => Array
(
[first_line] => HSR Layout
[second_line] => 1st Cross
[city] => Najem
[state] => Barel
)
[Department] => Array
(
[id] => 3
)
)