Extbaseでは、オブジェクトの作成日時はデータベーステーブルのカラムとして保存されます。この情報を取得するために、次の手順を実行できます。
- Extbaseのモデルクラスに、作成日時を格納するためのプロパティを追加します。例えば、"creationDate"という名前のプロパティを作成します。
/
* @var \DateTime
*/
protected $creationDate;
- モデルクラスに、作成日時を取得するためのゲッターメソッドを追加します。
/
* @return \DateTime
*/
public function getCreationDate()
{
return $this->creationDate;
}
-
データベーステーブルに作成日時を保存するためのカラムを作成します。TYPO3のデータベースマイグレーションツールを使用して、テーブル構造を変更する方法はさまざまですが、ここでは具体的な手順を説明しません。
-
ブログ投稿を作成するコントローラまたはサービスクラスで、作成日時を取得します。
use TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
// ...
/
* @var \TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper
* @inject
*/
protected $dataMapper;
// ...
public function createPost()
{
// ブログ投稿の作成処理
$post = new \Vendor\Extension\Domain\Model\Post();
$post->setTitle('ブログ投稿のタイトル');
$post->setContent('ブログ投稿の内容');
$post->setCreationDate(new \DateTime());
// 作成日時をデータベースに保存
$this->dataMapper->update($post);
// ...
}