我正在尝试显示用户的所有帖子,并将其包含在我的代码中,该代码仅在用户登录并显示用户的所有帖子时才有效。
$id = Auth::getUser()->id;
$this['allproducts'] = Advert::where('user_id', $id)->orderby('created_at','desc')->get();
我想让所有登录或不登录的用户都可以看到它。当我注销并尝试访问URL时,它将引发错误
试图获取非对象的属性“ id”
答案 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
您可以做的是列出注册用户,然后让站点访问者/用户确定要显示哪个用户的帖子。