我有一个 Doctrine2 实体,其类型为 boolean,在 mysql 中使用 tinyint 来存储结果。在初始添加一个值时,我可以将其设置为 null。如果我将除 0 或 1 以外的任何新值保存为 0 或 1,则将其保存为 0。
下面是带有 get 和 set 方法的变量。我已经完成了一个 var_dump 以确认该值在保存为 0 之前被设置为 null。
/**
* @var string $completed
*
* @ORM\Column(name="is_completed", type="boolean", length=1, nullable=true)
* @Api(type="field")
*/
private $completed;
/**
* Set completed
*
* @param boolean $value
*/
public function setCompleted($value = null)
{
if ($value=='') {
$value = null;
}
$this->completed = $value;
}
/**
* Get completed
*
* @return boolean
*/
public function getCompleted()
{
if (is_null($this->completed)) {
$this->completed = '';
}
return $this->completed;
}