检查Post作者是否等于登录用户

时间:2018-05-09 11:21:12

标签: session if-statement cakephp

用户可以发布“教程”,每个教程通过他们的“user_id”与其作者相关联。 我的问题是如果登录用户正在查看他们自己的帖子(教程),我想改变视图。

控制器:

  public function view($id = null)
{
    $tutorial = $this->Tutorials->get($id, [
        'contain' => ['Users','Courses', 'TutorialComments.Users']
    ]);


    $tutorialComment = $this->Tutorials->TutorialComments->newEntity();

    $this->set(compact('tutorial', 'tutorialComment'));

}

查看:

<? if (($tutorial->user->id) === ($this->request->session()->read('Auth.User.id'))): ?> 

<p> hello </p>

 <? endif; ?> 

1 个答案:

答案 0 :(得分:0)

您应该通过Auth组件访问登录控制器并将用户传递给视图

控制器

$logged_user_id = $this->Auth->user('id');

$this->set(compact('tutorial', 'tutorialComment', 'logged_user_id '));

视图

if($tutorial->user->id == $logged_user_id) {
    // your code here
}
相关问题