单一视图中的 Cakephp 多种形式

Cakephp multiple forms in single view

在我的编辑视图中,我创建了 2 个表单:

<?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

我收到此错误消息: 错误:Class 'User' 未找到 Fichier: C:\xampp\htdocs\projectmvc\app\Model\EditPasswordUserForm.php

你能帮帮我吗

谢谢 连线:4

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

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

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

要获得最佳文档,请阅读 Behavior for Model Inheritance

您不需要创建两个 类。

你可以这样做:

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

在您的用户控制器中:

class UsersController extends AppController {
     public function editPw() {...}
     public function editInfo() {...}
}