2013-04-23 112 views
0

我想遵循食譜中的約定,但我沒有運氣。我烘烤了我的所有CRUD和模型關聯,並且需要自定義管理員添加視圖(管理員有1個用戶)。當我嘗試驗證時,我正在爲管理員模型獲取適當的錯誤消息,但不是用戶模型。下面是我在用我的形式...CakePHP 2.3 - 保存相關模型數據

/* User Data */ 
echo __('<h3>Setup Login Information</h3>'); 
echo $this->Form->input('User.0.username'); 
echo $this->Form->input('User.0.password', array('type'=>'password')); 
echo $this->Form->input('User.0.password_confirm', array('type'=>'password')); 
echo $this->Form->input('User.0.user_role_id'); 

/* Administrator Data */ 
echo __('<h3>User Information</h3>'); 
echo $this->Form->input('Administrator.first_name'); 
echo $this->Form->input('Administrator.last_name'); 
echo $this->Form->input('Administrator.title'); 
echo $this->Form->input('Administrator.email_address'); 
echo $this->Form->input('Administrator.phone_number'); 

這裏是我在控制器設置...

if(!empty($this->request->data)) { 
    // Use the following to avoid validation errors: 
    unset($this->Administrator->User->validate['Administrator_id']); 
    $this->Administrator->saveAssociated($this->request->data); 
} 

$users = $this->Administrator->User->find('list'); 
$userRoles = $this->User->UserRole->find('list'); 
$this->set(compact(array('users', 'userRoles'))); 

回答

2

如果管理員有1個用戶,你不需要指定的形式輸入索引:

echo $this->Form->input('User.0.username'); 
echo $this->Form->input('User.0.password', array('type'=>'password')); 
echo $this->Form->input('User.0.password_confirm', array('type'=>'password')); 
echo $this->Form->input('User.0.user_role_id'); 

實際上應該是:

echo $this->Form->input('User.username'); 
echo $this->Form->input('User.password', array('type'=>'password')); 
echo $this->Form->input('User.password_confirm', array('type'=>'password')); 
echo $this->Form->input('User.user_role_id'); 
+0

是的,就是這樣!我以爲我嘗試了這條路線......好趕上! – 2013-04-23 16:22:27