1

我有一系列由查询生成器提供的事件。所有实体都必须显示在选择字段中,使用未来事件作为首选。两个部分都应按日期(升序)排序。到目前为止,它通过以下方式运行良好:

->add('event', EntityType::class, array(
    'class'        => 'App:Event',
    'choice_label' => 'name',
    'expanded'  => false,
    'multiple'  => false,
    'required' => false,
    'placeholder' => '-',
    'query_builder' => function (EntityRepository $er) {
        return $er->createQueryBuilder('e')
            ->orderBy('e.date', 'ASC');
    },
    'preferred_choices' => function ($event) {
        if($event->getDate() > new \DateTime()){
            return true;
        }
        return false;
    }
))

由于对 Symfony 4.3 的更新,不再保留首选选项的排序顺序,如下所述: https ://github.com/symfony/symfony/pull/30985 我没有首选选项数组,因为我使用一个可调用来决定将来发生哪个事件。我现在如何对首选选项进行排序?我在不断变化的描述中找不到任何线索。除了在表单构建器之外创建一系列事件之外,真的没有其他方法了吗?

4

0 回答 0