2

我正在学习 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');
    ?>
4

1 回答 1

0

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

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);
}
于 2012-11-22T11:41:17.737 回答