首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extbase查询不工作

Extbase查询不工作
EN

Stack Overflow用户
提问于 2014-12-24 12:08:35
回答 1查看 1.3K关注 0票数 0

我想从我的扩展库中获得一个对象。

我在Controller FachController中添加了以下代码

代码语言:javascript
复制
/**
* modulRepository
*
* @var \ReRe\Rere\Domain\Repository\ModulRepository
* @inject
*/
protected $modulRepository = NULL;

我试着得到这样的物体:

代码语言:javascript
复制
$modulUID = $this->request->getArgument('modul');
$modul = $this->modulRepository->findByUid($modulUID);

但在这一行中我发现了一个错误:

代码语言:javascript
复制
$modul = $this->modulRepository->findByUid($modulUID);`

错误是:

代码语言:javascript
复制
Call to a member function findByUid() on a non-object

为什么我会有这个错误?

在我的存储库中,我添加了以下代码:

代码语言:javascript
复制
public function findByUid($uid) {
  $query = $this->createQuery();
  $query->matching($query->equals('uid', $uid));
  $models = $query->execute();
  return $models;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-24 12:52:41

您不需要在存储库中使用findByUid方法,因为这个方法已经在repository基类中定义了。

问题很可能是在为$modulRepository添加依赖项注入后,您没有清除系统缓存(在开发上下文中,后端有一个按钮,安装工具中有一个按钮)。这是必要的,因为依赖项注入是缓存的,并且这个缓存在清除普通缓存时不会被刷新。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27636735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档