蛋糕PHP

我从表获取ID值有问题

我的表名为"users",ID为PK(int),username(txt) name(txt)

我试过了

$this->users->read('users.id)

获取用户ID,但不起作用。

我也试过

$this->request->session()->read('users.id')

我想让一个条件像

if($this->users->read('users.id'))==1


因为我想向具有其他ID的用户隐藏html代码。
我也尝试使用类似的东西... read('users.username')=='admin',但它们也无法正常工作

如您所见,尝试使用session()获取ID,但是不尝试

我的登录功能是

public function login()
{
    if ($this->request->is('post')) {
        $user = $this->Auth->identify();
        if ($user) {

                $this->Auth->setUser($user);
            return $this->redirect(['controller'=>'Accounts']);
        }
        $this->Flash->error('blalalalala');
    }
}


这是我Cakephp上学的第一个项目,所以伙计们可以帮我吗? :)
我在PHP弱



谢谢技巧,但仍然无法正常工作。

我用这个

$id  =  $this->Auth->user('id');  // To get user id
    $this->set('id', $id);


在过滤器之前在我的AppController中起作用。

而且我使用例如if($id==1) .....但仍然无法正常工作。 var dump显示为空。

我忘了说,但是我有CakePHP 3x version

最佳答案

要在控制器中为用户设置任何信息,您可以使用

$this->Auth->user('fieldName');


AppController方法中的beforeFilter中,只需设置所需的用户信息,如以下代码所示

$id  =  $this->Auth->user('id');  // To get user id
        $this->set('id', $id);


现在,在任何视图中您都可以应用条件

if($id==1)
--do this--


如果您想在任何可以使用的地方获取用户ID,则在cakephp 3.x中不允许

AuthComponent::user('id')


有关详细信息,请参见doc

09-11 19:46
查看更多