Symfony 4表单:在QueryBuilder中为ChoiceType字段实现按实体的自定义排序

时间:2020-07-28 15:51:33

标签: php symfony doctrine symfony4

我似乎很难理解Symfony(4)Form组件的内在函数。

我要:

a)存储每个实体(存储库?)有关默认排序顺序的信息,例如$ entityRepository-> sortOrder = ['default'=> ['LastName ASC','FirstName ASC'],'custom1 '=> [...]];

b)使用该信息来指示表单使用带有ChoiceType表单字段的query_builder选项/属性的顺序

问题是,理想情况下我应该如何/在何处存储该信息,以及如何将其提供给Form对象/ QueryBuilder?

以“行业标准”的方式指出我的方向将不胜感激。

1 个答案:

答案 0 :(得分:0)

Symfony表单随附EntityType,可让您指定自定义查询:

https://symfony.com/doc/4.4/reference/forms/types/entity.html#ref-form-entity-query-builder

如果排序是特定于表单的,则您可能希望在表单中内联构建查询(如上述链接的示例)。如果实体的相同顺序适用于多种表单,请将其提取到存储库中的方法中,并在以表单类型构建自定义查询时使用该方法。

相关问题