32 lines
733 B
PHP
32 lines
733 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
enum OrderStatus: string
|
|
{
|
|
case PENDING = 'pending';
|
|
case PROCESSING = 'processing';
|
|
case SHIPPED = 'shipped';
|
|
case DELIVERED = 'delivered';
|
|
case CANCELLED = 'cancelled';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::PENDING => 'Menunggu',
|
|
self::PROCESSING => 'Proses',
|
|
self::SHIPPED => 'Dikirim',
|
|
self::DELIVERED => 'Selesai',
|
|
self::CANCELLED => 'Gagal',
|
|
};
|
|
}
|
|
|
|
public static function options(): array
|
|
{
|
|
return collect(self::cases())->map(fn ($case) => [
|
|
'value' => $case->value,
|
|
'label' => $case->label(),
|
|
])->toArray();
|
|
}
|
|
}
|