我想从我的扩展程序的存储库中获取一个对象。
我在Controller FachController中添加了以下代码
/**
* modulRepository
*
* @var \ReRe\Rere\Domain\Repository\ModulRepository
* @inject
*/
protected $modulRepository = NULL;
我试着像这样得到对象:
$modulUID = $this->request->getArgument('modul');
$modul = $this->modulRepository->findByUid($modulUID);
但是我在这行中遇到错误:
$modul = $this->modulRepository->findByUid($modulUID);`
错误是:
Call to a member function findByUid() on a non-object
为什么我会收到此错误?
在我的存储库中,我添加了以下代码:
public function findByUid($uid) {
$query = $this->createQuery();
$query->matching($query->equals('uid', $uid));
$models = $query->execute();
return $models;
}
答案 0 :(得分:3)
您的存储库中不需要使用findByUid方法,因为此方法已在Repository基类中定义。
问题很可能是你没有清除系统缓存(在开发上下文中,在后端有一个按钮,并且在安装工具中有一个按钮)为{{添加依赖注入后1}}。这是必要的,因为依赖注入被缓存,并且在清除常规缓存时不会刷新此缓存。