小编use*_*807的帖子

用 symfony 形式编辑 json_array 字段

为了编辑实体的 json_array symfony 字段类型,我试图将其转换为可编辑的字符串,其中包含表单中的文本区域。

我创建了一个 DataTransformer,它正在转换JSONString <-> 数组

/**
 * Transform an array to a JSON string
 */
public function transform($array)
{
    return json_encode($array);
}

/**
 * Transform a JSON string to an array
 */
public function reverseTransform($string)
{
    return json_decode($string, true);
}
Run Code Online (Sandbox Code Playgroud)

当我使用表单构建器创建表单时,我可以将数组转换为这样的字符串:

$builder->add($builder->create('info', 'textarea')->addModelTransformer(new ArrayToJSONStringTransformer()))
Run Code Online (Sandbox Code Playgroud)

但是当我提交表单时,Symfony 正在创建一个新实体,并且这个字段被转换为一个空数组。

我应该怎么做 ?

forms arrays json textarea symfony

5
推荐指数
1
解决办法
5800
查看次数

标签 统计

arrays ×1

forms ×1

json ×1

symfony ×1

textarea ×1