您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

AccountCategory.php 918B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Enums\Accounting;
  3. use Filament\Support\Contracts\HasLabel;
  4. enum AccountCategory: string implements HasLabel
  5. {
  6. case Asset = 'asset';
  7. case Liability = 'liability';
  8. case Equity = 'equity';
  9. case Revenue = 'revenue';
  10. case Expense = 'expense';
  11. public function getLabel(): ?string
  12. {
  13. return $this->name;
  14. }
  15. public function getPluralLabel(): ?string
  16. {
  17. return match ($this) {
  18. self::Asset => 'Assets',
  19. self::Liability => 'Liabilities',
  20. self::Equity => 'Equity',
  21. self::Revenue => 'Revenue',
  22. self::Expense => 'Expenses',
  23. };
  24. }
  25. public static function fromPluralLabel(string $label): ?self
  26. {
  27. foreach (self::cases() as $case) {
  28. if ($case->getPluralLabel() === $label) {
  29. return $case;
  30. }
  31. }
  32. return null;
  33. }
  34. }