2013-01-14 83 views
0

(我用TYPO3 4.5與extbase擴展。)findByPid不工作pages_language_overlay映射

我是pages_language_overlay映射到我的extbase模型

Tx_Extension_Domain_Model_ModelName { 
    mapping { 
     tableName = pages_language_overlay 
    } 
} 

我創建了一個模型Tx_Extension_Domain_Model_ModelName一些制定者和獲得者。與

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

添加庫Tx_Extension_Domain_Repository_ModelNameRepository並注入庫這樣

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

後,我無法選擇具有findByPid條目。我正在用findByUid測試它,並且回顯pid,它可以工作,但是我沒有用findByPid得到結果。

有人有想法嗎?

回答

1

我只需要添加

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

在此之後效果很好。否則,查詢將在where子句中檢查,如

AND pages_language_overlay.sys_language_uid IN (0,-1)