首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extbase删除控制器/存储库中的重复对象

Extbase删除控制器/存储库中的重复对象
EN

Stack Overflow用户
提问于 2018-05-08 19:13:09
回答 1查看 315关注 0票数 0

我们从另一家公司接手了一个项目,需要更新他们的TYPO3。我们现在是最近的8.7.13。

有一个产品扩展,它将产品、组和项目过滤到一个视图中。由于原因不明,以下产出2种产品,两者相同:

代码语言:javascript
复制
public function findByObjekt($uid) {
    $query = $this->createQuery();

    $query->matching(
             $query->contains('objekte', $uid),
             $query->equals('objekte.hidden',0),
             $query->equals('objekte.deleted',0)
    );

    $query->getQuerySettings()->setRespectStoragePage(FALSE);
    $query->getQuerySettings()->setRespectSysLanguage(FALSE);
    return $query->execute();
}

在将重复的条目/对象返回给控制器输出之前,有什么方法可以删除这些条目/对象吗?,我检查了多个文档,但是找不到唯一结果的方法(这可能通常不需要.)。另一个想法是处理流体模板中的重复逻辑,但我想这是一个非常糟糕的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2018-05-09 12:30:51

我假设您在默认语言和一种本地化中都有所需的记录。使用extbase,原始语言记录及其所有本地化都具有相同的标识符(uid),尽管它们在数据库中是不同的。Extbase通常只查找当前语言的记录。

正如您的setRespectSysLanguage(FALSE)一样,extbase不会通过语言进行过滤。所以你才会收到两张唱片。

为什么要将respectSysLanguage设置为false?

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

https://stackoverflow.com/questions/50240798

复制
相关文章

相似问题

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