[Symfony] [easy-admin bundle] свойство доступа к объекту из type_options - PullRequest
0 голосов
/ 30 октября 2019

В моей сущности я определил цвет поля с помощью обратного вызова. Цвета могут быть выбраны только в списке ЦВЕТОВ (const в этом class)

/**
 * @ORM\Entity(repositoryClass="App\Repository\EventTagRepository")
 */
class EventTag
{
    const COLORS = [
        "primary"=>"primary", 
        "secondary"=>"secondary", 
        "success"=> "success", 
        "danger"=>"danger", 
        "warning"=>"warning", 
        "info"=>"info", 
        "light"=>"light", 
        "dark"=>"dark"
    ];

   /**
     * @ORM\Column(type="string", length=255)
     * @Assert\Choice(callback="getColors")
     */
    private $color;

    public function getColors()
    {
        return $this::COLORS;
    }

Когда я создаю форму в easy-admin, я хотел бы получить доступ к этому обратному вызову впараметры типа choice, чтобы пользователь не мог выбрать неправильный цвет.

EventTag:
            class: App\Entity\EventTag
            list:
                actions: ['-delete']
            form:
                fields:
                    - { type: 'group', label: 'Content', icon: 'pencil-alt', columns: 8 }
                    - 'name'
                    - { property: 'color', type: 'choice', type_options: { expanded: false, multiple: false, choices: 'colors'} }

К сожалению, в type_options я не нашел способа доступа к свойствам объекта вместо поиска getColors(), IsColors(), hasColors() методы, он только читает строку.

Можно ли сделать это по-другому?

...