Liu*_*tas 5 php symfony sonata-admin
是否可以创建搜索过滤器来搜索不是一个字段,而是从CONCAT(name, description)?
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('search');
}
Run Code Online (Sandbox Code Playgroud)
我找到了doctrine_orm_callback类型的解决方案
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add( 'text', 'doctrine_orm_callback', array(
'callback' => array($this, 'getSearchFilter'),
'field_type' => 'text'
) );
}
public function getSearchFilter($queryBuilder, $alias, $field, $value) {
if (!$value['value']) {
return;
}
$exp = new \Doctrine\ORM\Query\Expr();
$queryBuilder->andWhere($exp->like($exp->concat($alias.'.name', $alias.'.description'), $exp->literal('%' . $value['value'] . '%')));
return true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2000 次 |
| 最近记录: |