【发布时间】:2018-04-26 22:56:44
【问题描述】:
我无法将false 值设置为类型为boolean 的实体列。
/**
* @ORM\Column(type="boolean")
*/
private $isActive;
发送 JSON:
{myEntity: {isActive: false}}
...将导致:
违反完整性约束:1048 列“is_active”不能为空
发送时:
{myEntity: {isActive: 0}}
...会正常工作
stackoverflow 上有一些类似的答案,但是没有一个解决方案有效。
原始列
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| is_active | tinyint(1) | NO | | NULL | |
+-------------+--------------+------+-----+---------+-----------------+
编辑
在下面阅读我的答案。这不是 Doctrine 错误,而是 MariaDB 10.2 系列。
【问题讨论】:
-
请显示处理调用的控制器和表单类型。与实体设置器一起。但是,如果不允许 null,我建议指定一个默认值。
-
问题不在于控制器或表单类型。问题在于 Doctrine 本身或 DBAL。
标签: doctrine boolean mariadb nullable