我有领域模型 Basket 和 Article。如果我拨打以下电话,我会收到篮子里的文章。
$articlesInBasket = $basket->getArticles();
如何使用 TYPO3 标准属性,如 crdate 和 cruser_id。使用这样的东西会很好:
$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
并获取getCruser
接下来在您的模型中,您需要添加一个字段和一个 getter:
/** @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
}
}
}
}