gpt4 book ai didi

Symfony2 Sonata 管理数据转换器

转载 作者:行者123 更新时间:2023-12-04 21:46:49 28 4
gpt4 key购买 nike

我正在尝试设置表单类型“sonata_type_immutable_array”,如下所示:

->add('metadatos', 'sonata_type_immutable_array', array(
'keys' => array(
array('Test', 'text', array('required' => false)),
array('URL', 'url', array('required' => false)),
)
))

并像这样保存:
public function setMetadatos(\Portal\EntradasBundle\Entity\EntradaMeta $metadatos = null)
{
$this->metadatos = $metadatos;

return $this;
}

但是总是报错:

可捕获的 fatal error :传递给 Portal\EntradasBundle\Entity\Entrada::setMetadatos() 的参数 1 必须是 Portal\EntradasBundle\Entity\EntradaMeta 的实例,给定数组

我不知道如何设置数据转换器(ArrayToModelTransformer)来达到这个目的。

任何人都可以帮助我。提前致谢!

最佳答案

数据转换器非常简单,
看这个:
http://symfony.com/doc/current/cookbook/form/data_transformers.html

数据转换器的使用方式如下:

    /**
* @var ObjectManager
*/
private $om;

/**
* @param ObjectManager $om
*/
public function __construct($om)
{
$this->om = $om;
}

[..]
$yourTransformer = new YourDataTransformer($this->om);

And then ->addModelTransformer($yourTransformer))

它用于获取对象的 id,和/或从 id 中获取对象。

关于Symfony2 Sonata 管理数据转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13204948/

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