2014-02-09 3 views
5

У меня есть расширение (extbase/жидкость) с основным объектом «Etikett» с отношением к дочернему объекту «Земля». Я хочу заказать свой результат, поэтому я использую метод setDefaultOrderings в моем контроллере Etikett, но у меня нет результатов, почему?TYPO3 Extbase: setDefaultOrderings в контроллере

$this->etikettRepository->setDefaultOrderings(array('land.laendername' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING)); 
$etiketts = $this->etikettRepository->findAll(); 

Relation

+0

Тот же пустой результат с: $ query = $ this-> createQuery(); $ query-> равно («земля», $ земля); $ query-> setOrderings (массив ('region.regionenname' => \ TYPO3 \ CMS \ Extbase \ Persistence \ QueryInterface :: ORDER_ASCENDING)); – Ralf

+0

информация: земельный участок имеет регион с недвижимостью regionenname – Ralf

+0

Итак, вы ничего не получаете из своего хранилища? Или заказ не работает? Если это первое, убедитесь, что вы установили pid-хранилище в свои плагины Typoscript или отключите respectStoragePid в своем репозитории. – Daniel

ответ

3

Убедитесь, что вы установили ИДП хранения в ваших плагинов TypoScript или отключить respectStoragePid в вашем хранилище.

=)

6

Вы можете установить порядок по умолчанию в вашем хранилище.

class etikettRepository extends \TYPO3\CMS\Extbase\Persistence\Repository { 
    /* 
    * Default ordering for all queries created by this repository 
    */ 
    protected $defaultOrderings = array(
     'your_field_name' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING 
    ); 

    public function findAll(){ 
     //Your query 
     $query->getQuerySettings()->setRespectStoragePage(FALSE); 
    } 
} 
Смежные вопросы