Sonataには、私は予約管理者がいます。Sonata - 動的プロパティでフィルタを作成する方法
この管理者では、「lastname」、「firstname」または「ref」のようなデータベースにいくつかのフィールドが格納されています。私はまた、私の予約エンティティでこのように定義されている非DBのフィールド "ステータス"を持っています。
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";
}
私は「状態」フィールドにフィルタを定義しようとしましたが、私は得る:
[Semantical Error] line 0, col 87 near 'state = :sta': Error: Class MyBundle\Entity\Booking has no field or association named state
はソナタ管理者にフィルタのこの種を定義する方法はありますか?
助けてくれる人!
何も表示されません。 Sonataはすべてのエンティティをメモリにロードしてフィルタリングする必要があります。すべての[フィルタメソッド](https://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/filter_field_definition.html#filter-field-definition)は、QueryBuilderで動作します。 – Lumen