Files
travel/app/Models/TravelRequestApproval.php
Tim Basten 564f78dcda
All checks were successful
linter / quality (push) Successful in 1m37s
tests / ci (8.4) (push) Successful in 2m13s
tests / ci (8.5) (push) Successful in 1m25s
initial
2026-03-05 11:41:39 +08:00

47 lines
1.0 KiB
PHP

<?php
namespace App\Models;
use App\Enums\ApprovalStatus;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class TravelRequestApproval extends Model
{
/** @use HasFactory<\Database\Factories\TravelRequestApprovalFactory> */
use HasFactory;
protected $fillable = [
'travel_request_id',
'approval_step_id',
'approver_id',
'status',
'comments',
'acted_at',
];
protected function casts(): array
{
return [
'status' => ApprovalStatus::class,
'acted_at' => 'datetime',
];
}
public function travelRequest(): BelongsTo
{
return $this->belongsTo(TravelRequest::class);
}
public function step(): BelongsTo
{
return $this->belongsTo(ApprovalStep::class, 'approval_step_id');
}
public function approver(): BelongsTo
{
return $this->belongsTo(User::class, 'approver_id');
}
}