CakePHP的
我有从表
获取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');
}
}
这是我在学校的第一个项目,所以你们可以帮帮我吗? :) 我在PHP中很弱
提示但仍然无法使用。
我用这个
$id = $this->Auth->user('id'); // To get user id
$this->set('id', $id);
在我的AppController中的funciton中过滤。
我使用例如if($id==1)
.....并且仍然无法工作。 var dump显示为null。
我忘了说,但我有CakePHP 3x version
答案 0 :(得分:1)
要在控制器中设置用户任何信息,您可以使用
$this->Auth->user('fieldName');
在AppController
方法的beforeFilter
中,只需设置您需要的用户信息,如下面的代码
$id = $this->Auth->user('id'); // To get user id
$this->set('id', $id);
现在,在任何视图中,您都可以应用
之类的条件if($id==1)
--do this--
如果你想在任何你可以使用的地方获得用户名,那就不允许在cakephp 3.x
中AuthComponent::user('id')
有关详情,请参阅doc
答案 1 :(得分:0)
你可以试试这些:
$this->Auth->user('id'); // for controller action
OR
$this->Session->read('Auth.User.id'); // for controller and views
OR
AuthComponent::user('id') // anywhere