我有一个API,可以使用或不使用auth访问某些路由。
用户可以打开药房,如果他已登录,他可能会喜欢或不喜欢;如果他没有登录,则为0。
这是我的模特:
protected $fillable = ['name', 'city_id', 'block_id', 'address', 'contact', 'image', 'status', 'user_id'];
protected $appends = ['favourite'];
public function getFavouriteAttribute()
{
//return \auth()->id();
if (\auth()->check()) {
return (FavouritePharmacy::where('user_id', \auth()->id())->where('pharmacy_id', $this->id)->count() == 1) ? 1 : 0;
}
return 0;
}
}
问题是favourite
属性始终返回0.
当我检查身份验证时,它会返回null
。
我该如何解决?
答案 0 :(得分:0)
尝试按auth()->check()
(删除' \')或Auth::check()
进行操作,这样就可以了:
if (Auth::check()) {
return (FavouritePharmacy::where('user_id', Auth::user()->id)->where('pharmacy_id', $this->id)->count() == 1) ? 1 : 0;
}
在模型顶部导入Auth,
use Auth;
答案 1 :(得分:0)
问题是我正在尝试从api检查auth()。所以我应该添加'api'giurd
\auth()->check('api')