Files
hr/app/Models/UnpaidLeave.php
2026-07-30 17:24:40 +05:00

52 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Models;
use App\Enums\ApprovalStatus;
use App\Models\Concerns\LogsHrActivity;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class UnpaidLeave extends Model
{
use HasFactory;
use LogsHrActivity;
use SoftDeletes;
protected $fillable = [
'employee_id',
'start_date',
'end_date',
'days',
'reason',
'status',
'approved_by',
'approved_at',
];
protected function casts(): array
{
return [
'start_date' => 'date',
'end_date' => 'date',
'days' => 'integer',
'status' => ApprovalStatus::class,
'approved_at' => 'datetime',
];
}
public function employee(): BelongsTo
{
return $this->belongsTo(Employee::class);
}
public function approver(): BelongsTo
{
return $this->belongsTo(User::class, 'approved_by');
}
}