Laravel

Laravel Enums: Type-Safe Constants

January 16, 2026 1 min read 18 views

Type-safe enums in Laravel:

Define Enum

enum OrderStatus: string
{
    case Pending = 'pending';
    case Processing = 'processing';
    case Completed = 'completed';
    case Cancelled = 'cancelled';
}

Cast in Model

protected $casts = [
    'status' => OrderStatus::class,
];

Use in Queries

Order::where('status', OrderStatus::Pending)->get();

Validation

'status' => ['required', new Enum(OrderStatus::class)]
Share this post:

Related Posts

Comments (0)

Please log in to leave a comment. Log in

No comments yet. Be the first to comment!