В моем Symfony2 приложение У меня есть четыре сущности, которые вместе составляют меню нав:Использование древовидной структуры в Symfony2 (doctrine2): как установить порядок?
{Категория, Level1Item, Level2Item, Level3Item}
Через «родитель» эн «детей» свойств они связаны и иерархия формируется. В MySql-db в таблицах есть поле с именем parent_id (за исключением категорий, поскольку они находятся на корневом уровне). Кроме того, есть свойство «order» (отображается в поле db «order_id»).
Я передаю категории через диспетчер объектов в шаблон Twig. Шаблон итерации по элементам уровня 1, 2 и 3, если они существуют.
Порядок отображения всех элементов соответствует идентификатору элемента. Тем не менее, я хотел бы сделать свойство order-property leading.
В большинстве случаев порядок будет снижаться: {parent_id, order_id}. Поскольку дочерние элементы для каждого родителя могут иметь порядок 1, 2, 3, сами order_id не являются уникальными. Они, хотя в пределах каждого родительского пула, не имеют двух детей с order_id 2 для parent_id 1, например.
Я знаю, как заставить заказ использовать функции сортировки при использовании QueryBuilder или при использовании пользовательской функции в entityRepository. Но как установить порядок результатов по умолчанию для метода -> findAll(), с которым Twig будет работать, сверля до детей ...?
Спасибо Tomas! Я пробовал это раньше, но потом я сделал это неправильно. Теперь я понимаю, что вы только вводите свойства детей для заказа. Я думал о sql-таблицах, думая о заказе {parent, order}, но это действительно не имеет никакого смысла, поскольку вы уже на родительском уровне ... :) –