質問 > 管理機能 > entityで作成日のフィールドを初期化するベストプラクティスは? |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
xaiam |
投稿日時: 2020/6/29 16:10
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2020/6/10 居住地: 投稿: 10 |
entityで作成日のフィールドを初期化するベストプラクティスは? ▼テンプレート
[EC-CUBE] EC-CUBEのバージョン、新規インストールかアップデートか、等 [レンタルサーバ] [OS] macOS catalina [PHP] 7.2 [データベース] MySQL 5.7.28 [WEBサーバ] Symfony開発サーバー [ブラウザ] Chrome最新 [導入プラグインの有無] [カスタマイズの有無] 新規エンティティ作成中 [現象] 現在Customer/Entity/の下で自作のentityを作っています。 そのentityの中にはcreateDateというフィールドがあり新しい行がDoctrineを通してテーブルに追加される度にそのカラムに現在時刻が入るようにしたいです。 下記の通りです。 /** * @var DateTime * * @ORM\Column(type="datetimetz") */ private $createDate; /** * Set createDate. * * @return CustomerChannel */ public function setCreateDate(DateTime $createDate): self { $this->createDate = $createDate; return $this; } /** * Get createDate. * * @return DateTime */ public function getCreateDate(): ?DateTime { return $this->createDate; } この場合上記の私の希望を実現するベストプラクティスはなんだと思いますか? 現在思いついているのは ・コンストラクターに初期化式を記述する方法 ・コントローラーのアクションで初期化する方法 です。 |
nanasess |
投稿日時: 2020/7/1 12:19
対応状況: −−−
|
神 ![]() ![]() 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: entityで作成日のフィールドを初期化するベストプラクティスは? 通常は SaveEventSubscriber で自動的に現在時刻が入ります。 https://github.com/EC-CUBE/ec-cube/blob/4.0/src/Eccube/Doctrine/EventSubscriber/SaveEventSubscriber.php |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |