私は Symfony2 (または Symfony3) が初めてで、フィールドが「作成」または「変更」されたときにエンティティに自動的に保存するように (注釈構成を使用して) 教義を設定する方法が見つかりません。
27907 次
5 に答える
44
ここで、この後の私の解決策...
これをエンティティクラスに直接入れるだけです:
/**
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
*/
class MyEntity {
//....
public function __construct() {
// we set up "created"+"modified"
$this->setCreated(new \DateTime());
if ($this->getModified() == null) {
$this->setModified(new \DateTime());
}
}
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function updateModifiedDatetime() {
// update the modified time
$this->setModified(new \DateTime());
}
//....
}
それは実際にうまくいく
于 2014-09-28T05:34:43.350 に答える
26
StofDoctrineExtensionsBundleを使用できます。これはsymfony cookbookで説明されています。タイムスタンプ可能な動作が含まれています。
/**
* @var datetime $created
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
*/
private $created;
/**
* @var datetime $updated
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime")
*/
private $updated;
于 2013-08-16T05:51:01.177 に答える