0

(私は extbase-extension で Typo3 4.5 を使用しています。)

pages_language_overlay を extbase-model にマップしました

Tx_Extension_Domain_Model_ModelName {
    mapping {
        tableName = pages_language_overlay
    }
}

モデル Tx_Extension_Domain_Model_ModelName をいくつかのセッターとゲッターで作成しました。リポジトリ Tx_Extension_Domain_Repository_ModelNameRepository を追加した後

public function initializeObject() {
    $this->defaultQuerySettings = $this->objectManager->create('Tx_Extbase_Persistence_Typo3QuerySettings');
    $this->defaultQuerySettings->setRespectStoragePage(FALSE);
}

このようにリポジトリを挿入します

public function injectModelNameRepository(Tx_Extension_Domain_Repository_ModelNameRepository $modelNameRepository) {
    $this->modelNameRepository = $modelNameRepository;
}

findByPid でエントリを選択できません。私はfindByUidでテストしていて、pidをエコーし​​て動作しましたが、findByPidで結果が得られません。

誰かがアイデアを持っていますか?

4

1 に答える 1

1

追加するしかない

public function initializeObject() {
    $this->defaultQuerySettings = $this->objectManager->create('Tx_Extbase_Persistence_Typo3QuerySettings');
    $this->defaultQuerySettings->setRespectStoragePage(FALSE);
    $this->defaultQuerySettings->setRespectSysLanguage(FALSE);
}

この後、うまくいきます。それ以外の場合、クエリには次のようなチェックがあります

AND pages_language_overlay.sys_language_uid IN (0,-1)

where句で。

于 2013-01-15T09:28:56.050 に答える