libra/app/Models/Timeline.php

45 lines
951 B
PHP

<?php
namespace App\Models;
use App\Enums\TimelineStatus;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Timeline extends Model
{
use HasFactory;
protected $fillable = [
'user_id',
'case_name',
'case_reference',
'status',
];
protected function casts(): array
{
return [
'status' => TimelineStatus::class,
];
}
/**
* Get the user that owns the timeline.
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
/**
* Get the updates for the timeline, ordered chronologically (oldest first).
*/
public function updates(): HasMany
{
return $this->hasMany(TimelineUpdate::class)->orderBy('created_at', 'asc');
}
}