*/ protected static $enumCache = []; public static function getPossibleEnumValues($column) { $instance = new static; if (!isset(self::$enumCache[$column])) { $enumValues = []; // Menggunakan query langsung untuk mendapatkan nilai-nilai enum $type = DB::select("SHOW COLUMNS FROM {$instance->getTable()} WHERE Field = '{$column}'")[0]->Type; preg_match('/^enum\((.*)\)$/', $type, $matches); $enumValues = array_map( 'trim', explode(',', str_replace("'", '', $matches[1])) ); // Simpan hasil dalam cache self::$enumCache[$column] = $enumValues; } return self::$enumCache[$column]; } protected $fillable = [ 'name', 'username', 'email', 'password', 'role', ]; /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; }