[英]cake php saveAssociated not working
我是一個新的CakePHP用戶,使用saveAssociated時遇到了一些麻煩。
這就是我所擁有的:
楷模
用戶模型: $hasMany = "Telephone";
電話型號: $belongsTo = "User";
調節器
public function add() {
if ($this->request->is('post')) {
if (!empty($this->request->data)) {
if ($this->User->saveAssociated($this->request->data)) {
//success
return $this->redirect(array('action' => 'index'));
}
//fail
}
// no data sent
}
}
數據
Array (
[User] => Array (
[name] => foo
[fname] => bar
[email] => foo@bar.com
)
[Telephone] => Array (
[no] => 1
[num] => 0500000050
)
)
問題
使用id名稱fname和email成功創建用戶。
電話只添加了id和user_id('no'和'num'沒有添加)。
Ps:我試過“saveAll”。 請幫助,謝謝。
對於hasMany
,數組應采用此形式
array(
'User' => array(
'name' => 'Abhijeet Kambli',
'fname' => 'Abhijeet',
'email' => 'test@gmail.com'
),
'Telephone' => array(
(int) 0 => array(
'no' => '1',
'num' => '999999999'
)
)
)
所以你的view/users/add.ctp
應該是這樣的
<?php
echo $this->Form->create('User');
echo $this->Form->input('User.name');
echo $this->Form->input('User.fname');
echo $this->Form->input('User.email');
echo $this->Form->input('Telephone.0.no');
echo $this->Form->input('Telephone.0.num');
echo $this->Form->submit('Add');
echo $this->Form->end();
?>
對於第二個電話號碼
echo $this->Form->input('Telephone.1.no');
echo $this->Form->input('Telephone.1.num');
對於HasMany
關聯, 正確的格式是這樣的:
'User' => array(
'name' => 'foo',
'fname' => 'bar',
'email' => 'foo@bar.com'
),
'Telephone' => array(
array(
'no' => 1,
'num' => '0500000050'
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.