【发布时间】:2016-09-27 22:56:19
【问题描述】:
假设我有一个 Article 实体。
并且在这个实体中有一个 json_array 类型的报告属性。
Json_array 的数据可能喜欢
{"key1":"value1","key2":{"k1":"v1","k2","v2"...},"key3":["v1","v2","v3" ...]...}。
我的意思是 json_array 可能包含简单的 key:value
或者 value 也可能包含 key:vaule
或者 value 可能是一个数组。
现在我不知道如何使用 symfony 表单来渲染和保存这些 json_array,就像其他普通属性(例如,标题)一样。
同时,我想用一个有意义的名称来管理键标签名称就像更改标题字段的标签一样。
如何做到这一点,我觉得很难。
class Article
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var array
*
* @ORM\Column(name="report", type="json_array")
*/
private $report;
}
【问题讨论】:
-
在编辑表单时,是否希望标签为
key1、key2等的值?如:用户添加报表字段时,编辑文章时报表字段会有客户自己填写的标签? -
标签就像symfony表单的标签一样可以轻松自定义。不需要用户临时添加报表字段。