Symfony 如何动态删除SonataAdminBundles路由参数中的CRUD
我试图做的是在已有数据库条目时删除create操作。此条目只需要可编辑或可删除,并且不希望用户能够再创建。如果他删除此唯一条目,则“创建”按钮必须重新出现Symfony 如何动态删除SonataAdminBundles路由参数中的CRUD,symfony,sonata-admin,Symfony,Sonata Admin,我试图做的是在已有数据库条目时删除create操作。此条目只需要可编辑或可删除,并且不希望用户能够再创建。如果他删除此唯一条目,则“创建”按钮必须重新出现 protected function configureRoutes(RouteCollection $collection) { if ($this->hasFavorite()) { $collection->remove('create'); } } hasFavorite()。理论
protected function configureRoutes(RouteCollection $collection)
{
if ($this->hasFavorite())
{
$collection->remove('create');
}
}
hasFavorite()。理论上,如果hasFavorite()
我认为这里的问题在于缓存,保留初始路由。不管发生什么情况,我能得到的唯一积垢就是第一个放进缓存的积垢。我找到的唯一解决方案是在调用该方法时手动删除sonata缓存文件夹,这似乎有点过分
有什么好办法吗?遗憾的是,在sonata admin上无法以干净的方式重新加载路由缓存。您可以重写或,以在需要时不使用缓存或重新加载缓存。但这有点棘手,需要做一些工作。否则,您可以使用自定义CRUDController并修改模板,以便在需要时不显示按钮/拒绝操作。