【发布时间】:2019-11-25 17:37:45
【问题描述】:
我试图寻找这个问题的答案,但我有一个关于使用 codeigniter 过滤的问题。下面的代码检查管理员是否登录显示查询中的每个想法(大脑)状态,可以是公开的或隐藏的,否则只显示具有公开状态的。
我想更改此设置以继续向所有人显示具有公开状态的想法,并且仅向已登录的人显示具有隐藏状态的想法。
if($this->ion_auth->is_admin()) {
$brain_status = null;
}
else {
$brain_status = $brain::PUBLIC_STATUS;
}
$brain_collection = $this->em->getRepository('Entities\Brain')
->getListPerPage($brain::BRAIN_PER_PAGE, $page, $brain_status);
我尝试使用
$this->session->user_id,我不知道还有多少其他语法,我无法让它发挥作用,每个想法在数据库中都有一个字段,当创建想法以完成此操作时会记录 user_id。
非常感谢任何帮助
【问题讨论】:
-
您的数据库是否有一个“已发布”字段,与每个想法相关联?如果是这样,您可以向所有人显示所有已发布=1,而仅向其 user_id 匹配的那些已发布=0 显示
-
@Vickel 它没有!但我可以添加它。创建该字段后我将如何做?非常感谢
-
正如我之前在评论中所说,如果用户已登录(您使用他的用户 ID 设置会话)并且此用户 ID 与 ideia 的用户 ID 匹配,则显示它。它的优点是您可以实现让用户能够发布或取消发布想法
-
@Vickel 工作就像一个魅力。谢谢
标签: php codeigniter filter