*/ use HasFactory, Notifiable, HasRoles, LogsActivity, HasApiTokens; /** * 可批量賦值的屬性。 * * @var list */ /** * 建立模型的新工廠實例。 * * @return \Illuminate\Database\Eloquent\Factories\Factory */ protected static function newFactory() { return \Database\Factories\UserFactory::new(); } protected $fillable = [ 'name', 'email', 'username', 'password', 'is_active', ]; /** * 序列化時應隱藏的屬性。 * * @var list */ protected $hidden = [ 'password', 'remember_token', ]; /** * 取得應進行轉換的屬性。 * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', 'is_active' => 'boolean', ]; } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logAll() ->logOnlyDirty() ->dontSubmitEmptyLogs(); } public function tapActivity(\Spatie\Activitylog\Contracts\Activity $activity, string $eventName) { $activity->properties = $activity->properties->merge([ 'snapshot' => [ 'name' => $this->name, 'username' => $this->username, ] ]); } }