-6ren">
gpt4 book ai didi

"collection"表单上的 Symfony2 属性路径解析错误

转载 作者:行者123 更新时间:2023-12-04 02:52:39 25 4
gpt4 key购买 nike

我已经尝试解决这个问题一个多小时了,但我没有取得任何进展...

我有以下表格及其唯一字段:

<?php
$builder
->add('cars', 'collection', array(
'type' => new CarType(),
//'property_path' => '[cars]',
'required' => false,
))
;

此表单接收一个数组,其中一个键“cars”指向一组 Car 对象(由 CarType() 处理得很好。

当我为这个表单设置数据时,它给我一个属性路径解析错误,指出属性路径“[]”无效,无法解析。请注意,如果我取消注释上面的 property_path 选项,则会出现相同的错误(我只是将其放在那里以显示其默认值)。

  1. 为什么使用 [] 的属性路径?
  2. 我该如何解决这个问题?

注意:这在 PHP 5.4 的一个环境中工作正常,但在我的所有 PHP 5.3 环境中都失败了。

感谢您的帮助。

更多信息:

异常:“无法解析属性路径“[]”。意外标记“[”在位置 0”

在/vagrant/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyPath.php 第 125 行

最佳答案

我遇到了类似的问题,并找到了这个解决方法,我将根据您的示例进行调整:

我正在使用该表单创建一些新的 Car 对象,所以我的汽车没有 ID。我的 Car->getId() 方法返回了 null。当我将 getId() 方法更改为:

public function getId() {
return (int) $this->id;
}

问题消失了,因为现在 getId() 返回 0。大概属性路径 [0] 是有效的,但是 [] 不是。

关于 "collection"表单上的 Symfony2 属性路径解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17329107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com