Files
aso/app/Models/Claim.php
2022-12-05 04:30:00 +07:00

66 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class Claim extends Model
{
use HasFactory;
protected $fillable = [
'code',
'member_id',
'diagnosis_id',
'total_claim',
'currency',
'plan_id',
'benefit_id',
];
protected $hidden = [
'created_at',
'updated_at',
'deleted_at',
'created_by',
'updated_by',
'deleted_by',
];
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
try {
$model->code = (string) Str::orderedUuid(); // generate uuid
} catch (\Exception $e) {
abort(500, $e->getMessage());
}
});
}
public function member()
{
return $this->belongsTo(Member::class, 'member_id');
}
public function diagnosis()
{
return $this->belongsTo(Icd::class, 'diagnosis_id');
}
public function plan()
{
return $this->belongsTo(Plan::class, 'plan_id');
}
public function benefit()
{
return $this->belongsTo(Benefit::class, 'benefit_id');
}
}