Sonata Admin - 按计算值排序

min*_*llo 6 symfony sonata-admin

有没有办法让一个Sonata Admin列表中的列使用计算值作为排序?

这样的事情:(这不起作用)

    $mapper->add('stock', null, [
        'sortable' => '(stock.real - stock.inCustomerOrder)',
    ]);
Run Code Online (Sandbox Code Playgroud)

Tho*_*aux 0

由于这两个值来自同一个表,那么添加一个真实的列怎么样?(并且使用 Doctrine 侦听器,您可以在实体更改时保持同步)。

或者,您可以从此处的文档覆盖 Sonata 生成的查询:https ://sonata-project.org/bundles/admin/master/doc/reference/action_list.html#customizing-the-query-used-to-生成列表