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

时间:2015-12-06 23:02:08

标签: php symfony doctrine-orm

我在做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错误,我认为问题是复选框。它是否正确?你能帮帮我怎么做吗?

1 个答案:

答案 0 :(得分:11)

您可以将列类型更改为" array"像这样:

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

这将导致带有注释的长文本字段"(DC2Type:array)"所以Doctrine知道如何处理它。它将存储一个序列化数组。

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