Symfony 2 - 无法插入json_array类型变量

时间:2018-02-05 07:11:20

标签: symfony symfony-2.1

json_array类型变量无法包含到数据库中。填充的例外如下

(Symfony\Component\Debug\Exception\ContextErrorException(code: 0): Warning: implode(): Invalid arguments passed at /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php:51)"}

我的实体类为json_array类型参数提供了此部分。

/**
*
* @ORM\Column(name="street", type="json_array")
*/
private $street;

我也使用实体管理器包含在db中。

$entityName->setStreet(
           array(
              'street_1' => $queueItem->street_1,
              'street_2' => $queueItem->street_2));

if($this->em->getUnitOfWork()->getEntityState($entityName)) {
               $this->em->flush();
}

1 个答案:

答案 0 :(得分:0)

我认为你应该使用type="text"或自己的实体用于多条街道

http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/types.html#text

由于:

  1. type="json_array"已弃用type="json" http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/types.html#json-array
  2. 此类型需要可编码的字符串,而不是数组