Cakephp在单个视图中有多种形式

时间:2015-02-09 22:04:43

标签: forms cakephp

在我的编辑视图中,我创建了两种表单:

<?php echo $this->Form->create('EditPasswordUserForm')); ?>
<?php echo $this->Form->create('EditInfoUserForm')); ?>

因此,我创建了2个模型(2个文件):

class EditPasswordUserForm extends User
{

class EditInfoUserForm extends User
{

控制器用户:

public function edit($slug)
{                   
    $this->loadModel('EditPasswordUserForm'); 
    $this->loadModel('EditInfoUserForm');
    $editpassword = $this->EditPasswordUserForm->findBySlug($slug);
    $editinfo = $this->EditInfoUserForm->findBySlug($slug);

    if(empty($this->data))
    {
        $this->request->data['EditPasswordUserForm'] = $editpassword['EditPasswordUserForm'];
        $this->request->data['EditInfoUserForm'] = $editinfo['EditInfoUserForm'];   
    }

}//end edit

我收到此错误消息: Erreur:找不到“用户”类 Fichier:C:\ xampp \ htdocs \ projectmvc \ app \ Model \ EditPasswordUserForm.php

你能帮帮我吗。

谢谢 Ligne:4

2 个答案:

答案 0 :(得分:1)

您只需在扩展模型中导入User模型,例如

App::import('Model', 'User');
class EditPasswordUserForm extends User
{
    //
}

App::import('Model', 'User');
class EditInfoUserForm extends User
{
  //
}

有关最佳文档,请阅读Behavior for Model Inheritance

答案 1 :(得分:1)

您不需要创建两个类。

你可以这样做:

echo $this->Form->create('User', array('action' => 'editPw'));
echo $this->Form->create('User', array('action' => 'editInfo'));

在您的UsersController中:

class UsersController extends AppController {
     public function editPw() {...}
     public function editInfo() {...}
}
相关问题