oracle - Symfony 实体 - Oracle 默认 SYSDATE 不起作用
问题描述
Symfony 5 + 甲骨文。
实体:
/**
* @var \DateTime
*
* @ORM\Column(name="CREATE_DT", type="date", nullable=false, options={"default"="SYSDATE"})
*/
private $createDt = 'SYSDATE';
控制器:
//save entity object to database (createDt property NOT passed, default must be applied)
$em->persist($obj);
$em->flush();
错误:无法将“字符串”类型的 PHP 值“SYSDATE”转换为“日期”类型。预期为以下类型之一:null、DateTime(500 内部服务器错误)
如何让 Symfony 在刷新时应用默认的 SYSDATE?
解决方案
您可以直接在构造函数中使用默认值初始化您的日期。
class YourEntity {
/**
* @var \DateTime
*
* @ORM\Column(name="CREATE_DT", type="date", nullable=false)
*/
private $createDt;
public function __construct() {
$this->createDt = new \Datetime();
}
}
推荐阅读
- ruby - Ruby-Sketchup 改变面的颜色
- python-3.x - 根据节点权重将图拆分为最大的两个子图
- android - Android 7 React Native 组件数量限制?
- rest - 如何通过spring rest api传输大量数据
- wpf - 如何使组合框更快地添加项目?
- awk - awk 代码输出具有匹配字段的行,但没有输出
- java - 将 Jsch 0.1.42 升级到 0.1.54 会生成到远程服务器的连接超时
- java - 使用 for-each 循环时可以跳过部分数组吗?
- javascript - 通过 Webpack 移动文件
- java - 如何更改子类的属性值