symfony 2.4 中奏鸣曲管理中关系对象的数据网格过滤器作为文本字段(而不是下拉列表)

2024-01-22

我有与“用户”相关的实体“操作”。在 SonataAdminBundle 中创建了管理 CRUD 控制器。除了用户过滤器呈现为下拉列表之外,一切正常。我有 8000 名用户并且还在不断增长,所以你一定明白为什么这是一个问题。
我希望用户过滤器成为文本输入并提交搜索LIKE %username%

现在我添加这样的用户过滤器 -$datagridMapper->add('user').

我知道我可以添加过滤器类型和字段类型,但我无法找到正确的组合和选项。找到了关于http://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/filter_field_definition.html http://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/filter_field_definition.html但仍然没有成功。

最终解决方案

根据 Alex Togo 的回答,我使用了以下代码:

$datagridMapper->add('user', 'doctrine_orm_callback', array(
'callback' => function($queryBuilder, $alias, $field, $value) {
    if (empty($value['value'])) {
        return;
    }
    $queryBuilder->leftJoin(sprintf('%s.user', $alias), 'u');
    $queryBuilder->where('u.username LIKE :username');
    $queryBuilder->setParameter('username', '%'.$value['value'].'%');
    return true;
},
'field_type' => 'text'
))

我在一个项目中需要这样的东西。我使用以下方法实现了这个功能this http://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/filter_field_definition.html#callback。您可以尝试将“field_type”选项设置为“text”(我在我工作的项目中使用“choice”)并添加您需要过滤的查询生成器操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

symfony 2.4 中奏鸣曲管理中关系对象的数据网格过滤器作为文本字段(而不是下拉列表) 的相关文章

  • 使用 PHPUnit 模拟对象是否有可能期望调用神奇的 __call() 方法?

    我在测试中有一个模拟对象 真实的对象 PageRepository 使用 call 实现了一个神奇的方法 因此如果您调用 pageRepository gt findOneByXXXX value of field XXXX 它将在数据库中
  • 如何将 Ajax 与 Symfony2 集成 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找有关 symfony2 中
  • Sonata 用户管理 - 自定义字段依赖

    我为 FOSUser 扩展了 SonataAdmin 类 并添加了 2 个自定义字段 来自外部数据源的选择类型 Company and Sector 我想做Sector依赖于Company 因此如果用户选择一家公司 它将过滤可用的部门 我虽
  • Symfony2 - Doctrine - 更新后没有更改集

    因此 当实体的某个值发生更改时 我会发送电子邮件 我只想在更新后发送电子邮件 以防更新因任何原因失败 所以在更新前我可以这样做 public function preUpdate LifecycleEventArgs args if arg
  • twig json_encode 空 json

    我正在从 API 接收元素列表 所有元素的格式都很好 当我使用树枝转储其中一个时 我得到以下信息 Leg 2695 id null reservation null airportStart AIX LES MILLES airplaneT
  • Symfony Doctrine 数据类型仅适用于 findBy 不适用于 querybuilder

    我有自定义数据类型 它在使用 FindBy 时按预期工作 但在使用查询生成器时却不然 很抱歉这篇文章很长 但我认为更多信息应该有所帮助 这与这个未回答的问题相同 学说 2 自定义类型 https stackoverflow com ques
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • 安装 Symfony 2.4.1 lib-icu 4.4 依赖项时出现问题

    我遇到了与以下相同的问题this one https stackoverflow com questions 16753105 problems with lib icu dependency when installing symfony
  • 覆盖默认标识符生成策略对关联没有影响

    交响乐 2 7 2 学说 ORM 2 4 7 MySQL 5 6 12 PHP 5 5 0 我有一个具有自定义 ID 生成器策略的实体 它工作完美 在某些情况下 我必须使用 手工制作 的 ID 来覆盖此策略 当主实体在没有关联的情况下被刷新
  • Symfony2 Twig 扩展

    我在实现树枝扩展时遇到一些问题 我需要创建自己的过滤器 子过滤器 所以我想到了使用twig扩展 我在 MyApp Bundle WebsiteBundle 和文件上创建了一个名为 Extension 的文件夹 网站扩展 php namesp
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • Apache + Symfony2 + HTTPS + Node.js + Socket.io:socket.emit 未触发

    我花了几个小时来解决这个问题 但毫无结果 编辑 找到解决方案 参见我的答案 项目背景 我正在构建一个项目Symfony2 这需要一个用于上传大文件的模块 我选择了Node js and Socket IO 我必须从头开始学习 所以我可能会错
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 学说 dbal querybuilder 作为准备好的语句

    我正在尝试创建一个 Doctrine DBAL 查询生成器对象并在其中设置一个参数 使用 postgres db dbal 2 3 4 原则 connection this gt em gt getConnection qb connect
  • Symfony2 Secure by IP 不起作用

    在我的 Symfony 2 3 1 Security YML 中 我有这一行 安全 yml access control path mysecurearea roles IS AUTHENTICATED ANONYMOUSLY ip 0 0
  • Symfony2 中的 Composer 创建相同的资源两次(jquery、jqueryui)

    我将 jquery 和 jqueryui 添加到composer json require components jquery 1 11 dev components jqueryui 1 10 4 作曲家正在下载这两个库并将它们放入供应商
  • 安全性:密码检查删除和自定义用户提供程序

    我正在创建 Symfony2 版本 2 0 16 custom User Provider与我们的 LDAP 服务器一起使用 但根据如何创建自定义用户提供者 http symfony com doc 2 0 cookbook securit
  • 为什么将 Ubuntu 升级到 22.04 后 phpMyAdmin 停止工作?

    刚刚升级到 Ubuntu 22 04 现在我的 phpmyadmin 无法加载 我收到以下错误 解析错误 语法错误 usr share php Symfony Component DependencyInjection ContainerB
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • Symfony 4:添加 Twig_Extension_StringLoader

    在我的 Symfony 4 项目中 我有一个包含 HTML 的变量 我尝试使用 Twig 显示该变量 我想使用template from string 功能但我必须添加Twig Extension StringLoader到 Twig 环境

随机推荐

  • 带有“#”的意图过滤器路径前缀不起作用

    我正在尝试设置一个意图过滤器 以便在用户单击以下 URI 时启动我的活动 example com pathA pathB pathC someGUID 所以我将以下 XML 添加到清单文件中
  • 从 UICollectionView 索引路径获取模型

    我在用着RxSwift将模型数组绑定到集合视图 如何从给定的indexPath获取模型对象 我正在像这样进行绑定 vm bikeIssueCatagories drive self collectionView rx items cellI
  • Docker 创建了两个桥来破坏我的互联网访问

    我面临一个非常奇怪的问题 这是我的配置 docker 17 ce ubuntu 16 04 我在两个不同的地方与不同的互联网提供商工作 首先 一切工作正常 我可以开箱即用地运行 docker 并毫无问题地访问互联网 但第二 当 docker
  • 在没有输出文件的情况下调用 aws lambda

    我正在尝试使用 CLI 在 AWS 上调用 lambda aws lambda invoke function name GetErrorLambda payload body Id 321 123 output 我想知道是否有办法在 cl
  • 链接服务器和同义词之间的区别?

    t sql链接服务器和同义词有区别吗 如果是的话 它们是什么 在什么情况下我会选择其中之一 您使用链接服务器连接到不同服务器上的数据库 您使用同义词来指定要在 SQL 中访问的对象 例如表 它就像别名 欲了解更多信息 请参阅here htt
  • String.Format 在字符串内存储双引号[重复]

    这个问题在这里已经有答案了 我想表示以下字符串 aaaa 23 something inside double quotes 99 8 7 我想用这个来做到这一点String Format StringBuilder AppendLine
  • 在 Spring Security 中使用自定义异常

    我创建了一个自定义AuthenticationProvider执行自定义安全检查 我还创建了继承自的自定义异常AccountStatusException通知用户状态问题 例如用户在特定时间段内未验证其帐户 我的UserDetails也是一
  • 如何测量 React 16 中浪费的渲染?

    我之前用过反应插件性能 https reactjs org docs perf html printwasted包来测量各种东西 例如浪费的渲染通过Perf printWasted 不幸的是 这个包在 React 16 中被淘汰 取而代之的
  • screen.width/height 给出有关屏幕分辨率的错误信息

    我的屏幕分辨率为 1200 x 800 但此脚本给我的分辨率为 1429 x 893 为什么它不起作用 附注在其他网站上这段代码screen width screen height但是当在本地主机上运行它时 它会给出错误的信息 From M
  • 如何在我的 searchcontroller 中使用 queryStartingAtValue 来搜索用户?

    我之前曾问过一个关于以最具成本效益的方式搜索用户的问题 无需加载整个数据库中的每个用户 问题之前我的代码是 class FollowUsersTableViewController UIViewController IBOutlet var
  • NVML 头文件丢失

    我正在尝试执行一些 CUDA 代码 该代码恰好有一些 NVML 库函数 如 nvmlSystemGetDriverVersion 但是 当我尝试编译代码时 它说找不到 nvml h 由于 nvml h 似乎不存在 我应该如何在我的系统上安装
  • 将矩阵从 3d 重塑为 2d 并保留行

    我正在将 3d 矩阵转换为 2d 矩阵 这是形状变换 n x m x o gt n o x m 矩阵的元素与行相关 因此 结果矩阵中需要具有相同的行 A rand 2 2 3 这样做 C reshape A 2 3 2 不保留 A 中的行
  • Django 重定向到自定义 URL

    在我的 Django 应用程序中 如何将用户重定向到 somescheme someurl com 为了给您一些背景信息 以防有帮助 我有一个用 Python Django 编写的工作 oauth2 服务器 我需要允许用户注册具有自定义 U
  • 为所有Java组件设置相同的字体

    我想为 a 中的所有组件设置特定字体JPanel但我更喜欢这个问题更笼统 不限于 JPanel 如何将字体设置为容器 JFrame 或 JPanel 中的组件列表 这是一个简单的方法 允许您为任何容器 或 只是一个简单的组件 没关系 下的整
  • 原则 2:水合键值数组

    为什么这个查询不起作用 query this gt em gt createQuery SELECT COUNT p AS products count FROM Application Entity Category c INDEX BY
  • git + mountain lion + dyld:惰性符号绑定失败:找不到符号:___strlcpy_chk

    操作系统 Mac OS 10 8 3 xcode 安装了 4 6 3 w 命令行工具 usr local bin git gt usr local git bin git 有什么想法如何解决吗 我能够找到关于a 安装命令行工具和b 确保 u
  • Jenkins + Build Flow,如何将变量从一个作业传递到另一个作业

    我有一个类似于以下的构建流程场景文档示例 https wiki jenkins ci org display JENKINS Build Flow Plugin 两项工作 一项紧随另一项 b build job1 build job2 pa
  • 什么是“android.R.id.text1”?

    我是 Android 开发新手 在记事本示例中 我看到以下代码片段 SimpleCursorAdapter adapter new SimpleCursorAdapter this R layout noteslist item curso
  • c# 验证字符串包含匹配数量的括号

    如果我有一个这样的字符串 123 1 5 553 4 52 63244 19 44 验证以下条件的最佳方法是什么 每个左括号都有一个匹配的右括号 没有超过3括号组 有no嵌套括号 即 123 4 9 正则表达式能够验证所有这些场景吗 如果没
  • symfony 2.4 中奏鸣曲管理中关系对象的数据网格过滤器作为文本字段(而不是下拉列表)

    我有与 用户 相关的实体 操作 在 SonataAdminBundle 中创建了管理 CRUD 控制器 除了用户过滤器呈现为下拉列表之外 一切正常 我有 8000 名用户并且还在不断增长 所以你一定明白为什么这是一个问题 我希望用户过滤器成