在我的项目中,我使用的是Doctrine doctrine 2.5.4 / postgres 9.5.我正在尝试使用yaml添加jsonb字段:
fields:
obj: json_array
这会转换为json(而不是jsonb).关于拾取json或jsonb的规范说明:
Chosen if the column definition contains the jsonb option inside the platformOptions attribute array and is set to true.
但是platformOptions似乎不起作用(试图在obj下面添加它,在顶部……没有成功).如何添加jsonb字段?
谢谢,丹
最佳答案 这是由doctrine / dbal v2.6支持的(它需要PHP 7.1).你需要做的就是使用json_array并设置options = {“jsonb”= true}我在doctrine / dbal v2.6.3上进行了测试
这就是PHP格式的样子
/**
* @ORM\Column(type="json_array",nullable=true,options={"jsonb"=true})
*/
private $details;
并创建查询,例如(对于现有的talble):
ALTER TABLE mytable ADD details JSONB NOT NULL;