TYPO3扩展自定义存储库=空结果

TYPO3扩展自定义存储库=空结果,typo3,typo3-6.2.x,typo3-extensions,Typo3,Typo3 6.2.x,Typo3 Extensions,我正在处理Typo3 6.2,下面是我控制器的摘录: $event_to_display = $this->eventRepository->findByCustom(); $this->view->assign('event', $event_to_display); 这是我的自定义存储库: public function findByCustom() { $query = $this->createQuery(); $quer

我正在处理Typo3 6.2,下面是我控制器的摘录:

    $event_to_display = $this->eventRepository->findByCustom();
    $this->view->assign('event', $event_to_display);
这是我的自定义存储库:

public function findByCustom()
{

    $query = $this->createQuery();
    $query->matching($query->equals('sys_language_uid', 0));
    return $query->execute();

}
但结果是空的!我相信我的$query->equals()操作不起作用,但我不明白为什么。因此,我想补充第二个条件:如何做


编辑:如果我使用findByUid(),则问题必须位于我的自定义代码上,而不是控制器或回购。

findByUid
将始终找到您的实体,因为它绕过了任何其他约束

Extbase存储库基于它们所查询的实体,这意味着它们不直接查询数据库,而是查询实体的属性的持久性管理器。(这不是100%准确,但它是一幅很好的图片)

要从其他语言获取实体(因为代码查询字段),应使用
QuerySettings
修改目标语言约束:

$query->getQuerySettings()->setRespectStoragePage(false);

我想你忘了设置
StoragePid
。因此,首先检查是否设置了
storagePid
。如果未设置,则首先设置并清除
安装工具
缓存并检查增益

用于设置存储PID。


-:转到主页>模板,然后转到常量编辑器,用您的记录设置页面的
StoragePID

你好,塞德里克,谢谢您的回答。与此方法的结果相同。。我只想在当前的实体范围内,得到一个具有特定pid和特定langage id的实体。这听起来很简单,但对我来说不是^^如何?