*/ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; public function comments() { return $this->hasMany(Comment::class, 'user'); } public function films() { return $this->hasMany(Film::class, 'user'); } public function votes() { return $this->hasMany(Vote::class, 'user'); } public function settings() { return $this->hasMany(Setting::class, 'user'); } public function news() { return $this->hasMany(News::class, 'user'); } public function getAvatar() { $settings = $this->settings()->where('key', '=', 'avatar')->first(); return is_null($settings) ? "no-avatar.jpg" : $settings->value; } public function isActive() { return !$this->disabled; } public function isAdmin() { $settings = $this->settings()->where('key', '=', 'admin')->first(); return !is_null($settings); } }