【发布时间】:2016-07-23 03:09:31
【问题描述】:
我需要在我的模型中获取Auth::id() 以检查当前用户是否已投票。如何在 Eloquent 模型中访问当前用户?
型号: 命名空间应用程序;
use App\User;
use App\ArticleVote;
use Illuminate\Database\Eloquent\Model;
class Article extends Model {
protected $fillable = ['title', 'body', 'link'];
protected $appends = ['votesCount', 'isUserVoted'];
public function getIsUserVotedAttribute() {
return !!$this->votes()->where('user_id', \Auth::id())->first();
}
}
在getIsUserVotedAttribute 方法中我得到\Auth::id() 为null
【问题讨论】:
-
你的意思是你得到 id OR null 吗?
-
向你展示这个类中的 import pat
-
更新问题。我得到空
-
如果您这样做,您只需将\Auth::id() 更改为\Auth::user()->id。或者您可以在没有 Auth 外观的情况下全局使用以下内容:auth()->user()->id
标签: php laravel laravel-5 eloquent