我正在学习cakephp,我跟着这首图图:http://book.cakephp.org/2.0/en/tutorials-and-examples/simple-acl-controlled-application/simple-acl-controlled-application.html
我正在使用cakephp 2.2.3。
嗯,我到了需要添加组和用户的地方。但是,我的数据库里没有我的组名…
你能帮助我吗?
组控制器:

    <?php
    class GroupesController extends AppController{

    function add(){
    if (!empty($this->data)) {
            if ($this->Groupe->save($this->data)) {
                $this->flash('Votre groupe a été sauvegardé.','/groupes');
            }
        }
    }
    function beforeFilter(){
        parent::beforeFilter();
        $this->Auth->allow('*');
    }
  }
    ?>

模型
<?php
class Groupe extends AppModel{
    public $actsAs=array('Acl'=>array('type'=>'requester'));
    var $validate = array(
    'nom' => array(
    'rule' => array('minLength', 1)
    )
    );
    public function parentNode(){
        return null;
    }
}
?>

视图:
<h1>Ajouter un groupe</h1>
    <?php
        echo $this->Form->create('groupes');
        echo $this->Form->input('nom');
        echo $this->Form->end('Sauvegarder le groupe');
    ?>

最佳答案

我认为您无法获取数据,因为您视图中的表单未正确创建。它应该是模型的名称:

echo $this->Form->create('Groupe');

要查看将哪些数据发布到add操作,还可以使用debug()函数:
function add(){
    debug($this->data);
    ...
}

或者蛋糕2
function add(){
    debug($this->request->data);
    ...
}

也可以在调用else之后添加save()以调试任何验证错误:
if ($this->Groupe->save($this->data)) {
  $this->flash('Votre groupe a été sauvegardé.','/groupes');
}
else{
    debug($this->Groupe->validationErrors);
}

08-25 22:17
查看更多