2017-01-03 2 views
0

私のカスタムアクションボタンは、フィルタリングされたソナタリスト(カリキュラム)につながる必要がありますが、私は2つのパラメータ(会社と外部)を使用する必要があります。複数のパラメータでフィルタリングされたリストにつながるカスタムアクション?

以前は、私はこのアプローチを使用していました:Sonata Admin Action Button to Pre Filtered Listしかし、私は同時に2つのパラメータを使用することができませんでした。

<a class="btn btn-sm btn-default" href="{{ path('admin_myvendor_mybundle_curriculum_list',{'filter[companies][value]' : object.id }) }}"><i class="fa fa-university"></i> Curriculums </a> 

これを解決する方法はありますか?コントローラーの作成とカスタムQueryBuilderの使用について考えましたが、私はまだSonataリストを使用したいと思います(AdminのデフォルトのListMapperを上書きしないで)

答えて

0

これを達成するために必要なのは、管理者のcreateQuery()メソッド。

リストの元のクエリではSELECT DISTINCTが使用されているので、クエリごとに追加することになるため、同じフィールドをselect文に追加する必要があります。私のバンドルの1つで

https://github.com/sonata-project/SonataAdminBundle/issues/1548

私は自動的にProxyQueryクラスを拡張して、クエリの選択部分に句によって順序でフィールドを追加する回避策を使用。

あなたが見てしたい場合:問題は、私はすでに私の「デフォルト」リストについてからCreateQuery()メソッドをオーバーライドしていますということですhttps://github.com/blast-project/DoctrinePgsqlBundle/blob/master/Datagrid/ProxyQuery.php魔法がライン98とラインの間で起こる112

+0

...私が必要2つのリスト、既定のリストビュー(私は既にcreateQuery()を使用しています)、フィルタリングされた結果を持つ別のリスト(テンプレートをオーバーライドすることなくソナタリストを使用しています)、すべて –

+0

私は誤解している必要がありますあなたの質問。あなたはリストへのリンクと別のリストへのリンク、または2つの値でフィルタリングされた1つのリストを持ちたいでしょうか? – Mawcel

+0

デフォルトリスト(既にcreateQueryを使用しています)とフィルタリングされた値を持つ別のリスト –

関連する問題