Is there any \'built in\' way to administer Doctrine json_array
fields using Sonata Admin?
I can\'t find any useful documentation (or relevant code) in
In my entity I work with "json" type on column "config"
/**
* @var integer
*
* @ORM\Column(name="config", type="json", nullable=false)
*/
protected $config;
You can use basic DataTransformer to transform your value from JSON to string and display it as text in form
$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);
}
));
You work with json_array
just like with any array so You can go with collection type or sonata type collection.
I like that sonata type takes care about add/delete JavaScript for You.