Symfony 2.6.8 + Doctrine 2.5。*不正确的json_array类型持久化/解码

时间:2015-05-28 15:29:02

标签: php symfony doctrine-orm

当我尝试持久化json_array类型

   /**
     * @var array
     * @ORM\Column(type="json_array", nullable=true)
     */
    protected $sizes;
像往常一样

$obj = new Object();
...
$obj->setSizes($sizes);
...
$em->persist($obj);
$em->flush();

,Doctrine保存简单数组(列表)

array(3, 4, 5, 6)

就像这样的字符串:

[[["3","4","5","6"]]]

(多级数组)

问题是当我试图获取这些数据时,它也是毫微微阵列

array (size=1)
  0 => 
    array (size=1)
      0 => 
        array (size=4)
          0 => string '3' (length=1)
          1 => string '4' (length=1)
          2 => string '5' (length=1)
          3 => string '6' (length=1)

我无法正常迭代它(Doctrine 2.4。*),即在Twig中

{% for size in entity.sizes %}
  {{ size }}
{% endfor %}

我做错了什么,坚持并找回这些数据或者Doctrine 2.5中有错误。*?提前致谢

1 个答案:

答案 0 :(得分:1)

我'我发现我的代码中有错误,哈哈。 (学生)

问题出在我的二传手中

/**
 * Add sizes
 * @param $sizes
 * @return SupplierProduct
 */
public function setSizes($sizes = array())
{
    $this->sizes[] = $sizes;

    return $this;
}

$this->sizes[]

$this->sizes