2017-01-16 95 views
0

在我的倉庫爲extentsion我有下面的代碼沒有結果:庫查詢 - > setLimit(4)返回在​​某些情況下

function findByTyp($typ, $not, $gender) { 
     $query = $this->createQuery(); 
     return $query->matching(
         $query->logicalAnd(
          $query->equals('pid', 96), 
          $query->equals('typ', $typ), 
          $query->logicalNot($query->equals('uid', $not)), 
          $query->equals('gender', $gender) 
         ) 
        ) 
        ->setOrderings (Array('sort' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING)) 
        ->setLimit(4) 
        ->execute(); 
    } 

現在在特定的情況下,這應該與1項返回查詢它。但不知何故,它不返回任何項目。但是,當我刪除->setLimit(4)它返回正確的項目。

現在這對我來說沒什麼意義。在其他情況下,它的工作方式應該如何。那麼,怎樣才能->setLimit(4)從查詢中刪除的項目時,有沒有更多然後4個項目(在本例中僅有1)

+0

請看看查詢生成被髮送到數據庫。這應該告訴我們更多。 – pgampe

回答

-1

我無法找到一個答案,到目前爲止所以這裏是我的

解決方法:

我不存儲庫中使用->setLimit(4),但只在模板中使用第4項:

<f:for each="{collection}" as="collectionItem" iteration="collectionCount"> 
     <f:if condition="{collectionCount.index}<4"> 
       .... 
     </f:if> 
    </f:for> 
相關問題