我尝试使用以下代码在 mysql 日期时间列中插入日期时间,但它没有被插入。而 isDelete 工作正常。
/*
*
* @ORM\Column (type="datetime")
*/
protected $created;
/**
* @ORM\PrePersist
*/
public function prePersist(){
$this->created = new \DateTime("now");
$this->isDelete = 0;
}
生成的架构:
+-----------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | | auto_increment |
| isDeleted | tinyint(4) | YES | | 0 | |
| created | datetime | YES | | | |
+-----------+------------+------+-----+---------+----------------+
有什么想法吗?
最佳答案
您在 protected $created
属性上方的 /*
之后缺少一个 *
,因此它不是文档 block 注释,因此也不是不被解析为注释。因此,该领域并未得到 Doctrine 的认可。
它应该是:
/**
*
* @ORM\Column (type="datetime")
*/
protected $created;
修复此问题后,运行 Doctrine 架构更新工具。
关于php - Doctrine2 尝试将 DateTime ("now")插入 mysql 日期时间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12425297/