2

APYDataGridBundleグリッドが返す必要のあるアイテムのリストに条件を設定する方法を何時間も探していましたが、答えが見つかりませんでした。

DQLクエリを設定し、それをグリッドに渡して、フェッチしたい正確なクエリ結果を表示する方法はありますか?

これはコードです:

public function filteredlistAction(){
    // Create simple grid based on the entity
    $source = new Entity('ACMEBundle:MyEntity');
    // Get a grid instance
    $grid = $this->get('grid');

    // Attach the source to the grid
    $grid->setSource($source);
    ...
    ...

    **$grid->getColumns()->getColumnById('myentity_filter_column')->setData('the exact value I tried to match');**

    // Manage the grid redirection, exports and the response of the controller
    return $grid->getGridResponse('ACMEBundle:MyEntity:index_filteredlist.html.twig');
}
4

2 に答える 2

3

実行前に実行するコールバック (クロージャーまたは呼び出し可能) を追加できますQueryBuilder。これは次のように行われます。

$source->manipulateQuery(
    function ($query)
    {
        $query->resetDQLPart('orderBy');
    }
);

$grid->setSource($source);

$queryのインスタンスなQueryBuilderので、必要なものは何でも変更できます

ここのドキュメントから取られた例

于 2013-03-21T11:40:26.533 に答える