【发布时间】:2021-10-28 06:12:50
【问题描述】:
我想检查当前用户是否喜欢特定问题,并将结果(布尔值)存储到附加属性中,如下所示:
在我的问题模型中
use Illuminate\Support\Facades\Auth;
public function usersWhoLikedThis()
{
return $this->belongsToMany(User::class, 'question_user_likes');
}
public function getHasLikedAttribute() {
return $this->usersWhoLikedThis->contains(Auth::user()->id);
}
上述方法不起作用, 当我,dd(Auth::user()->id) 我得到 null
我的目标是返回一个问题列表,其中每个问题都有“has_liked”属性,如果当前用户喜欢该问题,则该属性为 true,否则为 false
【问题讨论】:
-
如果
Auth::user()->id是null则user未登录,任何未登录的人也是如此,您必须使用仅允许登录用户的中间件保护该路由。 -
你可能在 auth 中间件还没有运行的地方调用它
标签: laravel