我在Codeigniter 2中使用Doctrine 2,我希望Doctrine自動生成表中給定字段中插入的當前日期。自動創建日期 - annoation - Codeigniter 2和Doctrine 2
類文件:
<?php
namespace models;
/**
* @Entity
* @Table(name="workers")
*/
class Workers {
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @Column(type="string", length=255, unique=true, nullable=false)
*/
protected $email;
/**
* @var datetime $created_on
*
* @gedmo:Timestampable(on="create")
* @Column(type="datetime")
*/
protected $created_on;
/** @PrePersist */
function onPrePersist()
{
$this->created_on = date('Y-m-d H:i:s');
}
/* Setters & Getters */
public function setEmail($email){ $this->email = $email; }
public function getEmail(){ return $this->email; }
}
Insert方法:
$worker = new models\Workers();
$worker->setEmail($data['email']);
$this->em->persist($worker);
$this->em->flush();
每次我在表中 「工」 插入新的記錄,有永諾created_on
場NULL
,而不是插入日期。我究竟做錯了什麼?
謝謝你的解決方案。我解決了沒有GEDMO擴展..謝謝! – Puzo
歡迎您:) –
我使用這個默認值:@ORM \ Column(type =「integer」,options = {「default」:1})' – woodo