php - Doctrine2 尝试将 DateTime ("now")插入 mysql 日期时间列

标签 php doctrine-orm

我尝试使用以下代码在 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  |     |         |                |
+-----------+------------+------+-----+---------+----------------+

有什么想法吗?

Reference

最佳答案

您在 protected $created 属性上方的 /* 之后缺少一个 *,因此它不是文档 block 注释,因此也不是不被解析为注释。因此,该领域并未得到 Doctrine 的认可。

它应该是:

/**
 * 
 * @ORM\Column (type="datetime")
 */
protected $created; 

修复此问题后,运行 Doctrine 架构更新工具。

关于php - Doctrine2 尝试将 DateTime ("now")插入 mysql 日期时间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12425297/

相关文章:

php - COUNT = 0 的 Doctrine2 DQL 问题

php - 在doctrine2中从yml或xml文件创建模型类

php - Symfony2 Doctrine,如何只获取特定表的列名

mysql - Symfony 3/Doctrine 是否为每位访问者打开一个 MySQL 连接?

PHP mysqli ->bindValue SQL 错误

php - 如何使 .PHP 文件只能由服务器访问?

php - datepicker 回调在 IE 中不起作用

php - 当没有更多帖子显示时隐藏加载更多按钮

php - 在 Apache/Nginx 设置中刷新输出缓冲区