[英]Autocomplete filter in sonata admin mongodb
我有很多城市。 我想在我的管理員中按城市名稱進行過濾。 因為大量的記錄我必須使用sonata_type_model_autocomplete。 它的形式幾乎完美。
$form->add('city', 'sonata_type_model_autocomplete',
[
'property' => 'name',
'model_manager' => $form->getAdmin()->getModelManager(),
'class' => 'AppBundle\Document\Geography\City',
'to_string_callback' => function($e, $p) {
return sprintf('%s, %s, %s, %s',
$e->getName(), $e->getRegion()->getName(), $e->getRegion()->getCountry()->getName(), $e->getRegion()->getCountry()->getContinent()->getName()
);
}
]);
但是,當我嘗試在過濾器中執行此操作時,我有一個錯誤:
Error: Call to a member function isGranted() on null
過濾代碼:
$datagridMapper->add('city', null, ['show_filter' => true], 'sonata_type_model_autocomplete',
[
'property' => 'name',
'context' => 'filter',
'admin_code' => 'app.admin.custom_page_text',
'model_manager' => $datagridMapper->getAdmin()->getModelManager(),
'by_reference' => 'false',
'to_string_callback' => function($e, $p) {
return sprintf('%s, %s, %s, %s',
$e->getName(), $e->getRegion()->getName(), $e->getRegion()->getCountry()->getName(), $e->getRegion()->getCountry()->getContinent()->getName()
);
}
])
所以它適用於臟黑客。 我用自己的替換默認視圖sonata_type_model_autocomplete.html.twig,其中我刪除了行'_context': 'filter'
。 希望這個解決方案對某些人有用。
這似乎是一個錯誤。 我已經打開了一個新的pull請求來解決這個問題。
https://github.com/sonata-project/SonataDoctrineMongoDBAdminBundle/pull/287
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.