在我的项目中,我使用 Doctrine 学说 2.5.4/postgres 9.5。我正在尝试使用 yaml 添加一个 jsonb 字段:
fields:
obj: json_array
Run Code Online (Sandbox Code Playgroud)
这将转换为 json(而不是 jsonb)。关于获取 json 或 jsonb 的规范说明:
如果列定义在 platformOptions 属性数组中包含 jsonb 选项并设置为 true,则选择此选项。
但是 platformOptions 似乎不起作用(试图将它添加到 obj 下面,在顶部......没有成功)。如何添加 jsonb 字段?
谢谢,丹
这是由doctrine/dbal v2.6+ 支持的(它需要PHP 7.1)。所有你需要做的就是使用json_array和设置options={"jsonb"=true}我在学说/dbal v2.6.3上测试过这个
这是 PHP 格式的样子
/**
* @ORM\Column(type="json_array",nullable=true,options={"jsonb"=true})
*/
private $details;
Run Code Online (Sandbox Code Playgroud)
并创建查询,例如(对于现有表格):
ALTER TABLE mytable ADD details JSONB NOT NULL;
Run Code Online (Sandbox Code Playgroud)
关于类型映射的更多细节可以在 Doctrine mapping matrix 中找到。
| 归档时间: |
|
| 查看次数: |
3964 次 |
| 最近记录: |