File: /mnt/data/ghayatcom/ghayatcom-api/app/HealthProfileProsthesis.php
<?php
namespace App;
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 HealthProfileProsthesis extends Model
{
use SoftDeletes, LogsActivity, CausesActivity;
protected $appends = ['prosthesise_name'];
protected $fillable = ['id', 'user_id', 'prosthesis_id', 'created_at', 'created_by', 'updated_by', 'deleted_by'];
/* Spatie activity log */
protected static $logAttributes = ['prosthesisGet.name'];
protected static $recordEvents = ['created', 'updated', 'deleted'];
protected static $logOnlyDirty = true;
protected static $submitEmptyLogs = false;
protected static $logName = 'prosthesis_implants_grafts';
public function getDescriptionForEvent(string $eventName): string
{
return "Health profile prosthesis, implants, grafts 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 prosthesisGet(): HasOne {
return $this->hasOne(ProsthesisImplantsGrafts::class, 'id', 'prosthesis_id');
}
public function getProsthesiseNameAttribute()
{
return $this->prosthesisGet->name;
}
}