symfony3.4表单EntityType字段类,对数据进行排序

要对 EntityType 表单字段中的数据进行排序,你可以使用 query_builder 选项来定义一个自定义的查询构建器。在查询构建器中,你可以使用 orderBy 方法来指定排序规则。在你的表单类中,将 query_builder 选项添加到 EntityType 字段的配置中,并在查询构建器中使用 orderBy 方法对实体数据进行排序。
以下是一个示例:

use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Doctrine\ORM\EntityRepository;

class ProductType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('publisherId', EntityType::class, [
                'label' => '出版社',
                'required' => false,
                'placeholder' => '请选择出版社',
                'class' => 'AppBundle:Publisher',
                'choice_label' => function ($Publisher) {
                    return $Publisher->getTitle();
                },
                'query_builder' => function (EntityRepository $er) {
                    return $er->createQueryBuilder('p')
                        ->orderBy('p.id', 'ASC');
                },
            ]);
    }

    // ...
}

在上面的代码中,我们在 query_builder 选项中定义了一个匿名函数。在这个函数中,我们使用实体类的存储库(EntityRepository)创建了一个查询构建器,并使用 orderBy 方法按照 TpPublisher 实体的 publisherName 属性进行升序排序。保存并重新加载表单后,TpPublisher 实体的数据将按照指定的排序顺序显示在下拉列表中。希望这个示例能帮助你实现对 EntityType 表单字段中的实体数据进行排序的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值