CakePHP用户角色检索

时间:2015-07-21 22:13:27

标签: php cakephp

我试图将条件传递给我的UserController,以便查看其角色与我正在尝试访问的页面匹配的某些用户。

例如:

/ admin => User.admin

/ student => User.student

我能够使用find('all')函数检索所有已注册学生的列表,但是当我尝试通过设置条件过滤角色时,我收到的错误引用了我的代码和角色I'我试图检索。

这是我在我的控制器中的功能:

    public function index($role="admin") {
        //debug($role);
        $this->User->recursive = 0;
        $this->request->data('users', $this->User->find('all', 
            array('conditions' => 'User.role')));
        $this->set('users', $this->paginate());
    }

任何提示?

2 个答案:

答案 0 :(得分:0)

array('role' => 'role_value')应该是一系列条件。

即。 find_one

请参阅http://book.cakephp.org/2.0/en/models/retrieving-your-data.html

上的文档

答案 1 :(得分:0)

要添加条件,请在 WHERE 中使用 find() 选项。

像:

public function index($role="admin") {
    $this->User->recursive = 0;
    $this->request->data('users',
        $this->User->find()->where(['conditions' => 'User.role']));
    $this->set('users', $this->paginate());
}

OR

如果role数据库表字段名称,则代码很简单:

public function index($role="admin") {
    $this->User->recursive = 0;
    $this->request->data('users',
        $this->User->findByRole());
    $this->set('users', $this->paginate());
}