[英]SonataAdminBundle: Create custom filter type
有沒有一種方法可以為SonataAdminBundle創建自定義過濾器類型,該類型可以擴展其他類型,例如doctrine_orm_callback類型? 這個想法是在其他過濾器中重用自定義類型
public function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('field', 'doctrine_orm_callback', array(
'callback' => function($queryBuilder, $alias, $field, $value) {
if (!$value['value']) {
return;
}
$queryBuilder->leftJoin(sprintf('%s.field', $alias), 'field')
->andWhere("field LIKE :field")
->setParameter('field', "%{$value['value']}%");
return true;
},
'field_type' => 'search'), null, array('pattern' => '^[A-Za-z0-9]{1,12}$'));
}
謝謝!
檢查此鏈接,然后嘗試:
->add('with_open_comments',
'doctrine_orm_callback',
array('callback' => array($this, 'yourFunction'),
'field_type' => 'search'),
null,
array('pattern' => '^[A-Za-z0-9]{1,12}$'));
public function yourFunction($queryBuilder, $alias, $field, $value)
{
if (!$value['value']) {
return;
}
$queryBuilder->leftJoin(sprintf('%s.field', $alias), 'field')
->andWhere("field LIKE :field")
->setParameter('field', "%{$value['value']}%");
return true;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.