gpt4 book ai didi

PHP Symfony Forms 如何访问嵌套对象中的属性

转载 作者:行者123 更新时间:2023-12-04 00:00:31 24 4
gpt4 key购买 nike

我正在使用 SymfonyFormBuilder 创建多个表单。通常我会提供一个平面对象,其中包含表单需要访问的所有属性。这很好用。表单用正确的值填充对象,我可以将它作为 json 发送到处理它的 web 服务(所以我根本不访问数据库)。但在某些情况下,我从必须更新的 web 服务获得嵌套对象,或者我必须将嵌套对象(作为 json)发送到服务,我想知道是否可以访问表单中嵌套对象的属性。

一般情况下

$form = $this->createFormBuilder($myObject)
->add('myProp', 'text', array(
'label'=>$this->get('translator')->trans('my Property')
))

但在我的例子中,myObject 包含另一个对象,其中包含一些属性。所以我需要做这样的事情:

$form = $this->createFormBuilder($myObject)
->add('nestedObj.myProp', 'text', array(
'label'=>$this->get('translator')->trans('my Property')
))

但不幸的是,这似乎不起作用。是否有另一种解决方案来处理嵌套对象和表单?

最佳答案

字段名称中不允许使用点(原因在于 HTML 规范的详细信息)。但是,您可以覆盖“property_path”选项以自定义使用的属性路径:

$form = $this->createFormBuilder($myObject)
->add('myProp', 'text', array(
'label' => $this->get('translator')->trans('my Property'),
'property_path' => 'nestedObj.myProp',
))

关于PHP Symfony Forms 如何访问嵌套对象中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564389/

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