6

ドメイン モデル Basket と Article があります。以下を呼び出すと、バスケット内の記事を受け取ります。

$articlesInBasket = $basket->getArticles();

crdate や cruser_id などの TYPO3 標準属性を使用するにはどうすればよいですか。次のようなものを使用するとよいでしょう。

$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て 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    
        }
    }
}

もちろん、設定で適切な名前を使用することを忘れずに、コードの変更後にキャッシュをクリアしてください。

于 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 に答える