在 PropertyAdmin 中使用此代码扩展了 Admin :
public function createQuery($context = 'list') { $user = $this->getConfigurationPool()->getContainer()->get('security.context')->getToken()->getUser(); $query = $this->getModelManager()->createQuery($this->getClass(), 'o'); $query->where('o.Creator=:creator')->setParameter("creator", $user); return $query; }
我能够将“列表”结果限制为“属于”登录管理员的人,即。仅由登录管理员创建的属性(即实体)。
问题:通过手动更改 URL(id 值如 1、2...),我可以编辑属于其他用户的属性。对于编辑操作,根本不调用上述查询。如何改变这种行为?
2.我可以从PropertyRepository 类中获取它而不是将查询放入控制器中吗?这将使我可以为其编写单元测试的模型中保留逻辑。
3.我正在尝试: ProductAdmin 扩展 AdminHelper {....} AdminHelper 扩展 Admin { .... }
但它没有说“无法从“D:_development\rent2\app/config\routing.yml”导入资源“D:_development\rent2\app/config.”。
AdminHelper 是抽象类,但 Sonata 仍然会读取它。有什么解决办法吗?