I have an entity Transaction with numerous status codes. I want the user to be able to see these status codes as strings in SonataAdmin. The user should also be able to filter
Something like that
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('codes', 'doctrine_orm_callback', array(
'label' => 'Код',
'callback' => array($this, 'getCodesFilter'),
'field_type' => 'genemu_jquerychosen',
'field_options' => array(
'class' => 'Mtools\ClientBundle\Entity\Client',
'widget' => 'entity',
'multiple' => false,
)
);
}
public function getCodesFilter($queryBuilder, $alias, $field, $value)
{
if (!$value) {
return;
}
$queryBuilder->leftJoin(sprintf('%s.codes', $alias), 'c');
$queryBuilder->andWhere('c.code = :code');
$queryBuilder->setParameter('code', $value['value']);
}