Sonata admin - 相关表中的“排序依据”字段

2024-02-12

我有一个产品管理课程。产品实体与类别实体具有多对一关系,即产品与类别相关联。

在产品的管理“列表”页面中,我需要按每个产品关联的类别名称(按字母顺序)排序。

如果字段位于实体本身上,则设置默认排序依据字段很容易(请参阅索纳塔管理员捆绑订单 https://stackoverflow.com/questions/8120787/sonata-admin-bundle-order了解如何执行此操作)。但我不知道如何按相关表中的字段进行排序。

任何帮助表示赞赏。


这似乎是一种解决方法,但它确实有效。您必须添加一个覆盖 createQuery() 方法的连接,而不是指定覆盖 $datagridValues 的默认 sortBy:

<?php
use Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery;

class ExpenseAdmin extends Admin
{
    protected $datagridValues = array(
        '_page'       => 1,
        '_sort_order' => 'ASC', // sort direction
        '_sort_by' => 'c.name' // field name
    );

    /**
     * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
     */
    public function createQuery($context = 'list')
    {
        $query = parent::createQuery($context);

        return new ProxyQuery($query
            ->join(sprintf('%s.category', $query->getRootAlias()), 'c'));
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sonata admin - 相关表中的“排序依据”字段 的相关文章

随机推荐

  • Stripe 中可以使用非英语文本吗?

    成功地将 Stripe 集成到我的在线商店后 我完全无法获得有关是否 如何配置 Stripe 以德语而不是英语返回错误消息的信息 所以我的问题是 使用客户端 API 时有没有办法获得本地化的错误消息 https js stripe com
  • 检测 Android 中外部服务启动和关闭的其他应用程序

    我目前正在尝试监控 Android 下启动和关闭的应用程序 我需要创建 Android 服务应用程序 用于累积有关启动和终止选定应用程序的统计信息 时间 应用程序名称 我清楚了解流程和应用程序生命周期https developer andr
  • 动态添加带有或不带有元类的方法

    更新 2012 12 13 只是为了澄清 我对如何向类添加方法不太感兴趣 正如您在下面我的问题和人们的回答中看到的那样 有不止一种方法可以做到这一点 开玩笑和帽子提示我的 Perl 自我 我感兴趣的是了解使用不同方法向类添加方法的根本区别是
  • 无缓冲的 Bash 输出

    我有一个 bash 脚本 我试图用它来编写无缓冲的输出 我有这样的事情 mkfifo PIPE for SERVER in SERVERS do ssh SERVER command gt PIPE done while read LINE
  • 获取 C# 中命名空间中的类列表[重复]

    这个问题在这里已经有答案了 我需要以编程方式获得List给定命名空间中的所有类 我怎样才能在 C 中实现这个 反射 var theList Assembly GetExecutingAssembly GetTypes Where t gt
  • Firebase - set() 而不是 update() 的良好用例

    我正在使用 Firebase 的应用程序中构建创建 更新和删除操作 关于这个答案 https stackoverflow com a 38924648 4691187关于之间的区别的问题set and update jmk2142 建议在
  • 输入超过文件末尾的VBA excel

    我正在尝试使用以下宏读取文本文件 这些文件是由外部程序生成的 无法调整 While Not EOF int current file Line Input int current file buf If Left buf 1 lt gt T
  • VBProjectsEvents 在哪里?

    Using Microsoft Vbe Interop在 C 中 我可以访问CommandBarEvents and ReferencesEvents via VBE Events 然而 总是那么有帮助MSDN https msdn mic
  • Sass 无法工作并且无法在 macOS Catalina 上安装 ruby​​-sass

    升级到 macOS Catalina beta 后 Ruby sass 无法工作 当我跑步时sudo gem install sass 我收到错误 ERROR Error installing sass ERROR Failed to bu
  • 如何在每“X”个帖子后显示其他内容(例如广告)

    我有 WordPress 网站 我想在其中实施 Adsense 广告 我每页有 30 个帖子 所以我想在每 7 个帖子后展示广告 我该怎么做 目前我正在使用此方法在 10 个帖子中投放 3 个广告 并且在 10 个帖子之后没有广告显示
  • 强制在 Microsoft 混合系统上使用集成(Intel)显卡

    我使用 Microsoft 桌面复制 API 如果我的代码在集成 英特尔 显卡上运行 则一切正常 但如果我在专用卡上运行 则会出现错误 我找到微软不支持这种用法 https support microsoft com en my help
  • 计算多部分表单帖子的内容长度

    我正在尝试上传文件而不将其加载到内存中 如下所示 像 S3 这样的服务需要Content Length在这种情况下设置 是否有内置的 go lang 可以做到这一点 或者我必须自己计算它 package main import io mim
  • 即使 java gradle 工具链设置为 jdk 11,Gradle 仍使用 Java 1.8 构建 android 项目

    FAILURE Build failed with an exception Where Build file bitrise src app build gradle line 1 What went wrong A problem oc
  • 调用 Java Web Service 时,C# 响应对象包含 null

    我已收到以下 wsdl 我使用 wsdl exe 生成了 C 代理 并创建了我的 C 网页 我使用 Fiddler 查看了 SOAP 响应 它包含数据 有关需要进行哪些修改才能使 C 程序接受 SOAP 响应的任何指导 请原谅 wsdl 的
  • 有 Android 开发人员成功从 Web 服务接收分块传输协议吗?

    我一直在努力尝试几个类实现来检索分块数据 但没有成功 以下是存在问题的简化代码模块 在网上冲浪后 似乎过去曾出现过问题 2009 2010 版本1 1 1 5 但现在应该已经解决了 我还没有看到该协议在 Android 平台上取得任何明确的
  • SQLiteOpenHelper 与 ContentProvider

    我是 Android 开发新手 我正在尝试创建一个从内部数据库 SQLite 读取并列出列表中的所有数据的应用程序 我正在使用listView 到目前为止我有一门叫做DatabaseHandler延伸SQLiteOpenHelper这就是执
  • 如何对D3js进行月/日本地化?

    我正在寻找一种在 D3 上进行本地化的方法 我已经找到了价值观 d3 time days Sunday Monday Tuesday Wednesday Thursday Friday Saturday d3 time dayAbbrevi
  • 请求:https://www.w3.org/2000/svg 找到:http://www.w3.org/2000/svg [重复]

    这个问题在这里已经有答案了 我们使用 Apache Batik 来渲染 SVG 文件 出于安全原因 所有 URL 均转换为 HTTP 现在 当我们渲染 SVG 文件时 我们遇到了这个问题 原始 SVG 是 svg xmlns http ww
  • Jackson - 将 JSON 反序列化为类

    我正在调用一个返回 JSON 的端点 看起来像这样 在 Postman 中 Result attribute1 attribute2 该请求返回的Content Type标头是text x json 与通常的application json
  • Sonata admin - 相关表中的“排序依据”字段

    我有一个产品管理课程 产品实体与类别实体具有多对一关系 即产品与类别相关联 在产品的管理 列表 页面中 我需要按每个产品关联的类别名称 按字母顺序 排序 如果字段位于实体本身上 则设置默认排序依据字段很容易 请参阅索纳塔管理员捆绑订单 ht