使用Sonata Admin管理Doctrine json_array
字段是否有“内置”方式?
我在Symfony / Sonata文档(或代码)中找不到任何有用的文档(或相关代码),但我希望我错过了一些东西!
理想情况下,我希望看到序列化的键/值对以及删除其中任何一个的方法并添加一些新的,但我想我将不得不自己写出来...
答案 0 :(得分:4)
您使用json_array
就像使用任何数组一样,因此您可以使用collection type或sonata type collection。
我喜欢那个sonata类型负责为你添加/删除JavaScript。
答案 1 :(得分:0)
在我的实体中,我在“配置”列上使用“ json ”类型
/**
* @var integer
*
* @ORM\Column(name="config", type="json", nullable=false)
*/
protected $config;
您可以使用基本的DataTransformer将值从JSON转换为字符串,并将其显示为文本形式
$formMapper->add('config', 'text', [
'required' => false,
])
$formMapper->get('config')->addModelTransformer(new CallbackTransformer(
function ($tagsAsArray) {
//object stdclass json, need to be transform as string for render form
return json_encode($tagsAsArray);
},
function ($tagsAsString) {
//string, need to be transform as stdClass for json type for persist in DB
return json_decode($tagsAsString);
}
));