Symfony 实体 - Oracle 默认 SYSDATE 不工作
Symfony entity - Oracle default SYSDATE not working
Symfony 5 + Oracle。
实体:
/**
* @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();
错误:
无法将类型 'string' 的 PHP 值 'SYSDATE' 转换为类型 'date'。应为以下类型之一: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();
}
}
Symfony 5 + Oracle。
实体:
/**
* @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();
错误: 无法将类型 'string' 的 PHP 值 'SYSDATE' 转换为类型 'date'。应为以下类型之一: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();
}
}