session - 检查帖子作者是否等于登录用户
问题描述
用户可以发布“教程”,每个教程都通过他们的“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; ?>
解决方案
您应该通过 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
}
推荐阅读
- php - Laravel 保存方法不更新记录
- terraform - Terraform Enterprise 模块文件位置错误
- vba - 如何使用outlook vba将html内容附加到word中
- python - 在 Sklearn 的 SVC 中,当标签大小很大时,为什么训练时间与最大迭代不严格线性?
- node.js - 使用 Mongo 聚合有条件地计算集合中的外部字段
- android - 如何禁用显示输入文本的灰色框
- javascript - D3 和 java 脚本
- python - 如何从 Python 中的集合列表创建集合?
- ios - 重绘时未清除 UIBezierPath
- java - 如何计算已加在一起的组的 MAX 和 MIN