【发布时间】:2013-05-11 08:47:10
【问题描述】:
我正在使用 symfony 和教义作为我的 ORM。
对于我有的可用类型:
- 数组
- simple_array
- json_array
我想知道它们之间的区别是什么:我什么时候使用其中一个?
我可以为他们每个人做一个演示来说明差异吗?
我已经在某些应用程序中使用了 simple_array,但我发现我不理解 formType...(或者我没有很好地使用它!?)
为了说明我的问题,这里有一个例子:
我有一个必须在特定日期运行的任务 所以我用 days 属性创建了 TaskEntity
天数是:
$days = array(
1=>true,
2=>true,
3=>true,
4=>true,
5=>true,
6=>false,
7=>false
);
但我不知道选择上述哪种类型...
【问题讨论】:
-
如果您使用
json_array,请记住事实上(由于错误doctrine-project.org/jira/browse/DBAL-446)它永远不可能是null,即使它被声明为nullable=true(当实体是由学说构建/水合)。所以为了避免这个问题,always 为你的$myJsonArray属性设置值array()。这样您的属性定义将是:/* @Column(type="json_array) */ private $myJsonArray = array();。并检查它是否通过empty($this->myJsonArray)设置但不是null === $this->myJsonArray() -
另一个未修复的相同错误的链接:github.com/doctrine/dbal/issues/1643
标签: php arrays symfony doctrine-orm