蛋糕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