'datetime', ]; /** * The accessors to append to the model's array form. * * @var array */ protected $appends = [ 'profile_photo_url', ]; public function diaries() { return $this->hasMany(Diary::class); } public function meals() { return $this->hasMany(Meal::class); } public function detailz() { return $this->hasOne(UserDetailz::class); } public function circumference_measures() { return $this->hasMany(CircumferenceMeasure::class); } public function weight_measures() { return $this->hasMany(WeightMeasure::class); } public function consultant_request() { return $this->hasOne(ConsultantEducation::class); } public function attachments() { return $this->hasMany(UserAttachment::class); } protected function consultantState(): Attribute { return Attribute::make( get: fn () => $this->consultant_request ? $this->consultant_request->request_state : 'incomplete', ); } public function author_of_plans() { return $this->belongsToMany(Plan::class, 'plan_author', 'user_id', 'plan_id'); } public function plan_comments() { return $this->hasMany(PlanComment::class); } public function plan_likes(): HasMany { return $this->hasMany(PlanLike::class); } public function comment_upvotes(): HasMany { return $this->hasMany(CommentUpvote::class); } }