これはよくある質問だと思います.SonataAdminでsoftdeletableおよび同様のフィルターをオフにする必要があります.今まで私はやっています:
use Sonata\AdminBundle\Admin\Admin as BaseAdmin;
class Admin extends BaseAdmin
{
/**
* {@inheritdoc}
*/
public function configure()
{
/**
* This executes everywhere in the admin and disables softdelete for everything, if you need something cleverer this should be rethought.
*/
$filters = $this->getModelManager()->getEntityManager($this->getClass())->getFilters();
if (array_key_exists('approvable', $filters->getEnabledFilters())) {
$filters->disable('approvable');
}
if (array_key_exists('softdeleteable', $filters->getEnabledFilters())) {
$filters->disable('softdeleteable');
}
}
}
これにより、多くの問題が発生します.1つは、管理クラスが2回構成されているため、条件が必要です。1回はナビゲーションを構築するため、もう1つはインターフェースを構築するためです。 、これはかなりクールではありません。
このロジックをどこに置くつもりですか?