Intereting Posts
Цикл внутри цикла while mysqli_fetch_array () API Google Analytics исключает исключение «invalid_grant» с учетной записью службы. Тот же код на двух серверах. Только один работает Foreach: получить конкретное значение итерации Разбор XML с помощью Xpath в PHP Как получить ошибку FTP при использовании PHP В DDD и CQRS для запросов на чтение, что такое стратегия, которая позволяет использовать интерфейсы и простое тестирование? PHP пересылает переменные POST на другую страницу конвертировать строки с разделителями tab / space в вложенный массив Что произойдет, если mysql_insert_id будет вызывать разные места и разные браузеры одновременно? jQuery ajax () POST для Slim PHP framework создать массив из mysql-запроса php Magento не может войти в систему с правами пользователя и пароля Почему PHPExcel не позволяет писать более 5000 строк Php извлекает строки из нескольких таблиц MySQL Можно использовать несколько / вложенных операторов MySQLi?

Атрибут сортировки по умолчанию для модели Doctrine

Мне было интересно, есть ли способ объявить заказ по умолчанию для моих моделей доктрины.

например

У меня есть work модель, и у меня есть photos . Когда я загружаю произведение, все связанные с ним фотографии загружаются в $work->photos . Когда я их показываю, они упорядочиваются по их идентификаторам.

Было бы очень удобно объявить заказ по умолчанию в другом поле или, возможно, переопределить поведение выборки.

Я бы предпочел не преобразовывать фотографии в массив и использовать usort. Благодарю.

    Вы можете указать его в YAML следующим образом:

    Если это сортировка для поля в самой таблице, добавьте:

     options: orderBy: fieldname 

    где options: находятся на той же глубине, что и columns: или relations: запись. NB: капитализация orderBy: жизненно важна; сделайте это неправильно, и вы не получите никакой ошибки, но также не сортируете.

    Если это порядок сортировки для отношений, то в рамках отношений вы можете пропустить options: часть и просто введите:

     orderBy: fieldname 

    Хорошо, я обошел это благодаря этому сообщению: http://www.littlehart.net/atthekeyboard/2010/02/04/sorting-relationship-results-in-doctrine-1-2-2/

    В моем случае файл BaseWork.php имел следующие модификации:

     public function setUp() { parent::setUp(); $this->hasMany('Photo as photos', array( 'local' => 'id', 'orderBy' => 'display_order', 'foreign' => 'work_id')); 

    Во всяком случае, было бы лучше указать это в schema.yml, который я не мог сделать.

    Я не знаю первой вещи о доктрине, но похоже, что вы можете указать предложение order by при вызове create ().

    http://www.doctrine-project.org/documentation/manual/1_0/en/dql-doctrine-query-language:order-by-clause