【发布时间】:2016-07-07 07:40:14
【问题描述】:
进入奏鸣曲,我有一个预订管理员。
在此管理员中,我将一些字段存储到数据库中,例如“姓氏”、“名字”或“参考”。我还有一个字段“状态”,它是非数据库存储的,它在我的预订实体中定义如下。
public function getState(){
if (/*Complex condition*/)
return 'canceled_not_refund';
else if (/*Complex condition*/)
return 'canceled';
else if (/*Complex condition*/)
return "no-payment";
else if (/*Complex condition*/)
return "partial_payment";
else if (/*Complex condition*/)
return "ok";
else if(/*Complex condition*/)
return "ended";
}
我试图在“状态”字段上定义一个过滤器,但我得到:
[语义错误] line 0, col 87 near 'state = :sta': Error: Class MyBundle\Entity\Booking 没有名为 state 的字段或关联
有没有办法在 Sonata Admin 中定义这种过滤器?
感谢帮助!
【问题讨论】:
-
我看不到任何方法。 Sonata 必须将所有实体加载到内存中并过滤它们。所有filter methods 都使用QueryBuilder。
标签: php symfony sonata-admin sonata