【发布时间】:2012-07-05 00:51:54
【问题描述】:
-
在 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 仍然读取它。有什么解决办法吗?
【问题讨论】: