这真的很奇怪。我收到以下异常:
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
是一个值数组:
所以我不确定为什么会发生异常。这不像我要给它加倍的直线。有什么想法吗?
答案 0 :(得分:2)
它是错误所指向的“ choice_label”定义-即,错误所指出的选择数组中没有“ Quantity”属性路径(请参见doctrine choice_label)。目的可能只是使用'label' => 'Quantity'
?