Symfony 2.6.8 + Doctrine 2.5. * Неправильный тип json_array, сохраняемый / декодируемый

1

Когда я пытаюсь сохранить тип 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"]]]

(многоуровневый массив)

Проблема в том, что когда я пытаюсь вернуть эти данные, это также массив miltilevel

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)

и я не могу его повторять как обычно (Доктрина 2.4. *), т.е. в Twig

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

Я что-то делаю неправильно, когда сохраняю и возвращаю такие данные, или есть ошибка в Doctrine 2.5. *? заранее спасибо

Теги:
doctrine2

1 ответ

1

Я нашел ошибку в моем коде, lol. (студент)

проблема была в моем сеттере

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

    return $this;
}

не

$this->sizes[]

но

$this->sizes

Ещё вопросы

Сообщество Overcoder
Наверх
Меню