Aur*_*nas 6 symfony sonata-admin symfony-2.4
我有与'User'有关的实体'Action'.在SonataAdminBundle中创建了Admin CRUD控制器.除了用户过滤器呈现为下拉列表外,一切正常.我有8k用户数和增长,所以你必须明白为什么这是一个问题.
我希望用户过滤器是文本输入,然后提交以进行搜索LIKE %username%
现在我添加这样的用户过滤器 - $datagridMapper->add('user').
我知道我可以添加过滤器类型和字段类型,但我无法找到正确的组合和选项.在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'
))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4093 次 |
| 最近记录: |