ドメイン モデル Basket と Article があります。以下を呼び出すと、バスケット内の記事を受け取ります。
$articlesInBasket = $basket->getArticles();
crdate や cruser_id などの TYPO3 標準属性を使用するにはどうすればよいですか。次のようなものを使用するとよいでしょう。
$basket->getCrUser();
$basket->getCrDate();
これは TYPO3 8.7 および 9.5 で機能します。
モデル:
/**
* @var \DateTime
*/
protected $crdate = null;
/**
* Returns the creation date
*
* @return \DateTime $crdate
*/
public function getCrdate()
{
return $this->crdate;
}
TCA -> これを列に追加します。
'columns' => [
'crdate' => [
'config' => [
'type' => 'passthrough',
],
],
...
]
まず、テーブル フィールドの名前がcrdate
でcruser
あるため、getter に名前を付けgetCrdate
て get する必要があります。getCruser
次に、モデルにフィールドとゲッターを追加する必要があります。
/** @var int */
protected $crdate;
/**
* Returns the crdate
*
* @return int
*/
public function getCrdate() {
return $this->crdate;
}
(フィールドでも同じことを行いcruser
ます)
最後に、setup.txt
おそらくこれらのフィールドのマッピングを追加する必要があります。
config.tx_extbase.persistence.classes {
Tx_Someext_Domain_Model_Somemodel {
mapping {
columns.crdate.mapOnProperty = crdate
columns.cruser.mapOnProperty = cruser
}
}
}
もちろん、設定で適切な名前を使用することを忘れずに、コードの変更後にキャッシュをクリアしてください。
これはTYPO3 6.2.11でうまくいきます
モデル:
/**
* tstamp
*
* @var int
*/
protected $tstamp;
/**
* @return int $tstamp
*/
public function getTstamp() {
return $this->tstamp;
}
TS:
config.tx_extbase.persistence.classes {
STUBR\Stellen\Domain\Model\Institution {
mapping {
tableName = tx_stellen_domain_model_institution
columns {
tstamp.mapOnProperty = tstamp
}
}
}
}