1, 'female' => 2, ]; protected $guarded = []; protected $hidden = [ 'password', ]; protected $appends = [ 'full_name' ]; // protected static function booted() // { // static::creating(function ($user) { // if (empty($user->uuid)) { // $user->uuid = (string) Str::uuid(); // } // }); // } public function getFullNameAttribute() { return $this->first_name . ' ' . $this->last_name; } public function getAvatarAttribute() { return isset($this->attributes['avatar']) ? url($this->attributes['avatar']) : null; } public function setPasswordAttribute($password) { $this->attributes['password'] = Hash::make($password); } public function otpTokens() { return $this->hasMany(OtpTokens::class); } public function transactions() { return $this->hasMany(Transaction::class); } public function reminders() { return $this->hasMany(Reminder::class); } public function packageNames() { return $this->belongsToMany(PackageName::class, 'user_package_name')->withPivot(['id', 'tries', 'source', 'fcm_token'])->withTimestamps(); } public function products() { return $this->belongsToMany(Product::class, 'user_product')->withPivot(['expire_at', 'purchase_token', 'gateway'])->withTimestamps(); } protected function serializeDate(DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); } }