php – 使用Symfony 2,Doctrine在SQL数据库中保存数组?

我正在做app,我使用SQL,我想在一列中保存复选框值.
我是这样做的:

 /**
* @Assert\NotBlank(
*           message="please select!")
* @Assert\NotNull(
*           message="please select!")
* @Assert\Range(min=0, max=9)
* @ORM\Column(type="integer")
*/  
protected $ingredients;


public static function getIngredientsOptions(){
return array('cheese','tomatoes','salami','onions','mushroom','bacon','ham','vegetables','peppers','olives');

    }

但我得到错误,说我有SELECT错误,我认为问题是复选框.它是否正确?你能帮帮我怎么做吗?

最佳答案
您可以将列类型更改为“数组”,如下所示:

@ORM\Column(name="ingredients", type="array", nullable=true)

这将导致带有注释“(DC2Type:array)”的longtext字段,因此Doctrine知道如何处理它.它将存储一个序列化数组.

这可能就是你想要的.如果没有,请发布一些使用表单的setter和controller的代码,以及错误消息.

转载注明原文:php – 使用Symfony 2,Doctrine在SQL数据库中保存数组? - 代码日志