如何在octobrcms中显示用户的所有帖子

时间:2019-05-29 22:03:27

标签: php laravel octobercms

我正在尝试显示用户的所有帖子,并将其包含在我的代码中,该代码仅在用户登录并显示用户的所有帖子时才有效。

$id =  Auth::getUser()->id;

    $this['allproducts'] = Advert::where('user_id', $id)->orderby('created_at','desc')->get();

我想让所有登录或不登录的用户都可以看到它。当我注销并尝试访问URL时,它将引发错误

  

试图获取非对象的属性“ id”

3 个答案:

答案 0 :(得分:0)

尝试使用:如果没有经过身份验证的用户,它将给出null,并且不应获取。 (如果user_id在广告模型表上不保持为空)

$id =  Auth::getUser()->id ?? null;

答案 1 :(得分:0)

if (Auth::user()){

您应该使用命令检查您的输入内容。

答案 2 :(得分:0)

  

我想让所有登录或不登录的用户都可以看到它。当我注销并尝试访问URL时,它将引发错误

在这种情况下,您将谁称为用户还不清楚。

如果您想让“任何其他用户”访问“任何用户”的帖子,那么您的实现是不正确的。

Auth::getUser()-从活动会话中检索已登录的用户-See here-预期会发布您的错误,因为注销后,Auth会话将被清除并且您无法访问{{1} }属性。

您基本上是在id

您可以做的是列出注册用户,然后让站点访问者/用户确定要显示哪个用户的帖子。