Symfony 3.4-具有ChoiceType的PropertyAccessor异常

时间:2019-04-04 02:09:11

标签: php forms symfony

这真的很奇怪。我收到以下异常:

  

PropertyAccessor需要一个对象图或数组来进行操作,   但是在尝试遍历路径“ Quantity”时发现了“ double”类型   属性“数量”。

使用以下代码:

$choices = array();

$minimumSaleUnit = $cartItem->getProduct()->getMinimumSaleUnit();
$maxItems = $cartItem->getProduct()->getQuantity();

for ($i = 1; $i <= 20; $i++) {
    $value = $i * $minimumSaleUnit;

    if ($value <= $maxItems) {
        $choices["$value"] = $value;
    }
}

$form = $this->createFormBuilder($cartItem)
    ->add('quantity', ChoiceType::class, ['choices' => $choices, 'choice_label' => 'Quantity'])
    ->getForm();

$choices 一个值数组:

enter image description here

所以我不确定为什么会发生异常。这不像我要给它加倍的直线。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

它是错误所指向的“ choice_label”定义-即,错误所指出的选择数组中没有“ Quantity”属性路径(请参见doctrine choice_label)。目的可能只是使用'label' => 'Quantity'