37 lines
1.1 KiB
PHP
37 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Enums\SosialEkonomi;
|
|
|
|
enum KebebasanMemilihPembeli: int
|
|
{
|
|
case TIDAK_BEBAS_TERIKAT_SATU_PEMBELI = 1;
|
|
case AGAK_TERIKAT_ADA_TEKANAN = 2;
|
|
case AGAK_BEBAS_CENDERUNG_PEMBELI_SAMA = 3;
|
|
case CUKUP_BEBAS_SESEKALI_PINDAH = 4;
|
|
case SANGAT_BEBAS_PINDAH_KAPAN_SAJA = 5;
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::TIDAK_BEBAS_TERIKAT_SATU_PEMBELI => 'Tidak bebas, terikat satu pembeli',
|
|
self::AGAK_TERIKAT_ADA_TEKANAN => 'Agak terikat, ada tekanan',
|
|
self::AGAK_BEBAS_CENDERUNG_PEMBELI_SAMA => 'Agak bebas, cenderung pembeli sama',
|
|
self::CUKUP_BEBAS_SESEKALI_PINDAH => 'Cukup bebas, sesekali pindah',
|
|
self::SANGAT_BEBAS_PINDAH_KAPAN_SAJA => 'Sangat bebas, pindah kapan saja',
|
|
};
|
|
}
|
|
|
|
public static function options(): array
|
|
{
|
|
return collect(self::cases())->map(fn ($case) => [
|
|
'value' => $case->value,
|
|
'label' => $case->label(),
|
|
])->toArray();
|
|
}
|
|
|
|
public static function values(): array
|
|
{
|
|
return array_column(self::cases(), 'value');
|
|
}
|
|
}
|