Метка выбора Symfony ChoiceType не принимает строку в качестве значения

Может показаться, что здесь либо ошибка, либо документация неверна. Просто разместите это здесь, чтобы подтвердить, что это ошибка. ChoiceType :: класс

$choice1 = new \stdClass();
$choice1->name = 'Shipping';
$choice1->label = 'Shipping for you';
$choice1->code = 'xyz';

$builder
  ->add('modeOfDelivery', ChoiceType::class, [
    'choices' => [
        $choice1
    ],
    'choice_label' => 'label',
    'choice_value' => 'code'
  ])
;

При попытке использовать строку в качестве значения для selection_label я получаю эту ошибку php: Expected argument of type "null or callable", "string" given

в vendor / symfony / symfony / src / Symfony / Component / Form / ChoiceList / ArrayChoiceList.php в строке 70 -

    public function __construct($choices, $value = null)
    {
        if (null !== $value && !is_callable($value)) {
            throw new UnexpectedTypeException($value, 'null or callable');
        }

Любая помощь будет принята с благодарностью.


person ctatro85    schedule 16.03.2017    source источник


Ответы (1)


Отсутствует опция choices_as_values. Это требуется в версии 2.8 для использования объектов в качестве вариантов выбора.

person ctatro85    schedule 16.03.2017