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

news/2024/5/20 4:47:13 标签: symfony

要对 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 表单字段中的实体数据进行排序的功能。


http://www.niftyadmin.cn/n/1838148.html

相关文章

opencv学习---Directory类基础知识介绍(读取文件夹下的所有文件的文件名)

只为总结,便于以后复习,便于其他同学参考! opencv中有一个工具类Directory:它可以遍历对应文件夹下的所有文件,帮助读取文件夹下的所有文件名; opencv2 中没有提供简单的文件名读取接口,需要重…

IHttpModule接口

IHttpModule向实现类提供模块初始化和处置事件。 IHttpModule包含兩個方法: public void Init(HttpApplication context); public void Dispose();Init():这个方法接受一个HttpApplication对象,HttpApplication代表了当前的应用程序&#xf…

关于用户体验

关于用户体验 用户体验不是万能药,不能为了用户体验而用户体验,做用户体验前,先要考虑几个问题:1、你的目标明确吗? 用户体验是对用户的尊重,但在此之前应该先尊重自己,不要在背离目标路上一味追求用户体验…

opencv学习---opencv内容一览

浏览论坛看到的,感觉很好就留下来了!觉得这是一本数的目录。原址:http://blog.chinaunix.net/uid-8402201-id-2899695.html 一、基础操作 1. 数据类型 数据结构了解图像相关:cvArr cvMat IplImage 数据数组的维数, 与…

RoboCup 3D Fedora系统安装步骤

RoboCup 3D Fedora系统安装步骤文档下载地址: http://ishare.iask.sina.com.cn/f/18842393.html 此文档系统安装方法是基于2011伊朗公开赛和2011兰州国赛使用的Fedora 14操作系统,对于现在已发行的Fedora 15和Fedora 16均适用。转载于:https://www.cnblo…

C/C++---用fprintf函数输出.txt文件

最近写代码的时候突然不会写啦&#xff01;拿出来便于为其他同学解惑&#xff0c;也便于自己以后复习&#xff01;//头文件&#xff1a;<stdlib.h>//方法&#xff1a;FILE *fpfopen("*.txt","w");fprintf(fp,"你要写入txt的内容");fclose(…

yGGLE:不用编程就能建立自己的网站

无需编程就能建立自己的网站&#xff0c;这对于很多人来说是难以想象的&#xff0c;然而这已经变成了现实。Newman Infinite今天正式推出了一项新的在线服务yGGLE&#xff0c;它能够帮助人们在不用编程的情况下就能建立一个以Java为基础的网站。 yGGLE运用的是拖放界面&#xf…

好用的 Abyss Web Server

今天在家中研究如何实现脱离 IIS 部署 ASP.Net&#xff0c;方法有很多种&#xff1a; mod_aspdotnet这个东西可以直接与 Apache 集成&#xff0c;不过 Apache Foundation 已经不再维护该模块&#xff0c;因此放弃。 UltiDev Cassini还没用过&#xff0c;明天补上。 Abyss Web S…