6

我有领域模型 Basket 和 Article。如果我拨打以下电话,我会收到篮子里的文章。

$articlesInBasket = $basket->getArticles();

如何使用 TYPO3 标准属性,如 crdate 和 cruser_id。使用这样的东西会很好:

$basket->getCrUser();
$basket->getCrDate();
4

3 回答 3

16

这适用于 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',
        ],
    ],

    ...

]
于 2018-06-03T03:25:30.000 回答
6

首先,表字段被命名为crdatecruser因此 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    
        }
    }
}

当然,不要忘记在设置中使用专有名称,并在代码更改后清除缓存

于 2012-12-06T01:01:21.517 回答
6

这适用于 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
            }
        }
    }
}

PS谢谢https://github.com/castiron/cicbase

于 2015-04-01T12:30:07.140 回答