我试图将条件传递给我的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());
}
任何提示?
答案 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());
}