ldc-groupe/app/Enums/ModelsList.php
2026-02-11 09:15:43 +01:00

50 lines
1.1 KiB
PHP

<?php
namespace App\Enums;
use Uwil\LaravelCommon\Traits\Enums\BaseEnum;
enum ModelsList: int
{
use BaseEnum;
/**
* Model name in snake case.
* ex: dynamic_pages, products, recipes etc...
*/
case dynamic_pages = 1;
case news = 2;
case documents = 3;
/**
* Labels definition (key of the translation).
* etc: enums.model-list.dynamic-page etc...
*
* @phpstan-ignore-next-line
*/
private const LABELS = [
self::dynamic_pages->name => 'enums.model-list.dynamic-page',
self::news->name => 'enums.model-list.news',
self::documents->name => 'enums.model-list.document',
];
/**
* Target field used to present the resource.
* ex: title, label, name etc...
*/
private const TARGETFIELD = [
self::dynamic_pages->name => 'title',
self::news->name => 'title',
self::documents->name => 'name',
];
/**
* Get target field.
*
* @return string
*/
public function getTargetField(): string
{
return self::TARGETFIELD[$this->name];
}
}