首先,假設我猜這個問題已經解決了,但是我的英語不允許我找到答案。在Sonata Admin Bundle中編輯視圖的過濾器下拉列表
我與Sonata有一個「問題」,當我必須將許多結果關聯起來(例如:將一個正在退出的產品分配給發票)Sonata會生成一個非常大的下拉列表。 有沒有辦法過濾這個列表?
謝謝!
首先,假設我猜這個問題已經解決了,但是我的英語不允許我找到答案。在Sonata Admin Bundle中編輯視圖的過濾器下拉列表
我與Sonata有一個「問題」,當我必須將許多結果關聯起來(例如:將一個正在退出的產品分配給發票)Sonata會生成一個非常大的下拉列表。 有沒有辦法過濾這個列表?
謝謝!
您可以有幾種選擇:
$formMapper->add('invoice', 'sonata_type_model_list');
這將給你一個很好的窗口小部件用於選擇發票關聯。genemu_jqueryselect2_entity
類型並將class
屬性設置爲您的實體。問題是如何過濾**下拉菜單。 。 – NDM
您應該使用由奏鳴曲提供的表單類型。
如果你想使用sonata_type_model
,你可以通過選擇輸入輸入過濾所有發票的列表。如果你有很多發票,不希望加載它們都使用sonata_type_model_autocomplete
https://sonata-project.org/bundles/admin/master/doc/reference/form_types.html
如果您sonata_type_model
輸入不會讓你過濾你應該確認你的奏鳴曲管理的版本使用選擇2並且被正確配置爲使用它
#config.yml
sonata_admin:
options:
use_select2: true
雖然這是一個古老的問題,但當我使用這個主題時,我來到了這裏。所以,我的解決方案是:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('city', null, [
'query_builder' => function(EntityRepository $repo) {
// Here you should create and return a DQL query
// that will filter data the way you want
return $repo
->createQueryBuilder('city')
->where('city.country_code = \'US\'')
->orderBy('city.name', 'ASC')
;
}
])
;
}
這是否得到解決?圍繞網絡漂浮的信息仍然非常裸露關於此 – Simon
請參閱下面的答案。如果你認爲其他人可以從中受益,也許可以自己問問題(可能是更好的英語),所以我可以回答它,你可以接受它,因爲這個問題似乎已經死了 – Mawcel