HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/ghayatcom/ghayatcom-api/app/HealthProfileMedicalCondition.php
<?php

namespace App;

use App\MedicalCondition;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\Activitylog\Traits\LogsActivity;
use Spatie\Activitylog\Traits\CausesActivity;
use Spatie\Activitylog\Models\Activity;

class HealthProfileMedicalCondition extends Model
{
    use SoftDeletes, LogsActivity, CausesActivity;

    protected $appends = ['medical_condition_name'];

    protected $fillable = ['id', 'user_id', 'medical_condition_id', 'created_at', 'created_by', 'updated_by', 'deleted_by'];

    /* Spatie activity log */
    protected static $logAttributes = ['medicalConditionGet.name'];

    protected static $recordEvents = ['created', 'updated'];

    protected static $logOnlyDirty = true;

    protected static $submitEmptyLogs = false;

    protected static $logName = 'medical_Condition';

    public function getDescriptionForEvent(string $eventName): string
    {
        return "Health profile medical Condition has been {$eventName}";
    }

    public function tapActivity(Activity $activity)
    {
        /** @var object $activity */
        $activity->causer_type = 'App\User';
        $activity->causer_id = auth()->user()->id;
    }
    /* Spatie activity log */

    protected $hidden = ['created_by','updated_by','deleted_by','deleted_at','updated_at'];

    public function medicalConditionGet(): HasOne {
        return $this->hasOne(MedicalCondition::class, 'id', 'medical_condition_id');
    }

    public function getMedicalConditionNameAttribute()
    {
        return  $this->medicalConditionGet->name;
    }
}