カスタム テーブルを使用した拡張機能がありますが、そのうちの 1 つが機能しません。それから取得しようとするfindOneByUid()
と、正しいレコードを取得しているように見えますが、 from を除きuid
、pid
すべてのプロパティの値はnull
です。
テーブルの名前は次のとおりですtx_myext_domain_model_advertisercategories
。以前は広告主とカテゴリの間にアンダースコアを使用していましたが、これは extbase が期待する方法のようです。
私は設定しました:
- ext_tables.php & ext_tables.sql
- \ドメイン\モデル\Advertisercategories.php
- \Domain\Repository\AdvertisercategoriesRepository.php
- \Configuration\TCA\Advertisercategories.php
これらのファイルを Github にアップロードしました: https://gist.github.com/kuipersb/4a5ef7f14ecc979866ae
findOneByUid()
カスタムメソッドを実行したときに得られる出力searchAdvertiser()
は次のとおりです。
object(VENDOR\MyExt\Domain\Model\Advertisercategories)[334]
protected 'advertiserId' => null
protected 'name' => null
protected 'uniqueCode' => null
protected 'discount' => null
protected 'uid' => int 1
protected '_localizedUid' => int 1
protected '_languageUid' => null
protected 'pid' => int 2
private '_isClone' (TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject) => boolean false
private '_cleanProperties' (TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject) =>
array (size=6)
'advertiserId' => null
'name' => null
'uniqueCode' => null
'discount' => null
'uid' => int 1
'pid' => int 2
しかし、私は期待します:
advertiserId: 2
name: Test
unique_code: test
discount: 10.00
どんな助けでも大歓迎です!