2013-04-23 120 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