Как использовать OrderBy в Doctrine с функцией findBY

1

Когда я использую эту функцию:

$TopItemList = $app['orm.em']->getRepository('\Eccube\Entity\Product')
->findBy(array('name' => array('booktest1', 'booktest2', 'booktest3')));

Но я хочу, чтобы результаты в "названии" упорядочивались: "booktest1", "booktest2", "booktest3", потому что теперь заказ - "booktest3", "booktest1", "booktest2".

Я не знаю, как использовать "orderby".

Теги:
doctrine2

2 ответа

6
Лучший ответ

Здесь вы можете заказать свои сущности

$TopItemList = $app['orm.em']
    ->getRepository('\Eccube\Entity\Product')
        ->findBy(
            array('name'), 
            array(
                'booktest1' => 'ASC',
                'booktest2' => 'ASC',
                'booktest3' => 'ASC'
            )
        );
  • 0
    спасибо ваш ответ $ TopItemList = $ app ['orm.em'] -> getRepository ('\ Eccube \ Entity \ Product') -> findBy (array ('name' => array ('booktest1', 'booktest2', ' booktest3' ))); это может работать, но ваш код не может работать сейчас, я хочу получить порядок booktest 1 2 3, но на веб-странице он показывает мне 3 1 2, я не знаю почему. может быть проблема с ASC
0

Как сказал @sdespont, порядок передается как второй аргумент метода findBy.

Все в доктринных документах:

Метод EntityRepository # findBy() дополнительно принимает порядок, ограничение и смещение в качестве второго-четвертого параметров:

<?php $tenUsers =
$em->getRepository('MyProject\Domain\User')->findBy(array('age' =>
20), array('name' => 'ASC'), 10, 0);
  • 0
    спасибо ваш ответ $ TopItemList = $ app ['orm.em'] -> getRepository ('\ Eccube \ Entity \ Product') -> findBy (array ('name' => array ('booktest1', 'booktest2', ' booktest3' ))); это может сработать, но я хочу сохранить порядок booktest 1 2 3, но на веб-странице он показывает мне 3 1 2, я не знаю почему. может быть проблема с ASC
  • 0
    $ TopItemList = $ app ['orm.em'] -> getRepository ('\ Eccube \ Entity \ Product') -> findBy (['name' => ['booktest1', 'booktest2', 'booktest3']], ['name' => 'ASC']); Вы уверены, что это не работает, как задумано?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню