Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 如何动态删除SonataAdminBundles路由参数中的CRUD_Symfony_Sonata Admin - Fatal编程技术网

Symfony 如何动态删除SonataAdminBundles路由参数中的CRUD

Symfony 如何动态删除SonataAdminBundles路由参数中的CRUD,symfony,sonata-admin,Symfony,Sonata Admin,我试图做的是在已有数据库条目时删除create操作。此条目只需要可编辑或可删除,并且不希望用户能够再创建。如果他删除此唯一条目,则“创建”按钮必须重新出现 protected function configureRoutes(RouteCollection $collection) { if ($this->hasFavorite()) { $collection->remove('create'); } } hasFavorite()。理论

我试图做的是在已有数据库条目时删除create操作。此条目只需要可编辑或可删除,并且不希望用户能够再创建。如果他删除此唯一条目,则“创建”按钮必须重新出现

protected function configureRoutes(RouteCollection $collection)
{
    if ($this->hasFavorite())
    {
        $collection->remove('create');
    }
}
hasFavorite()。理论上,如果
hasFavorite()

我认为这里的问题在于缓存,保留初始路由。不管发生什么情况,我能得到的唯一积垢就是第一个放进缓存的积垢。我找到的唯一解决方案是在调用该方法时手动删除sonata缓存文件夹,这似乎有点过分


有什么好办法吗?

遗憾的是,在sonata admin上无法以干净的方式重新加载路由缓存。您可以重写或,以在需要时不使用缓存或重新加载缓存。但这有点棘手,需要做一些工作。否则,您可以使用自定义CRUDController并修改模板,以便在需要时不显示按钮/拒绝操作。