gpt4 book ai didi

TYPO3 数据库查询处理器 : Multiple Outputs of same UIDs

转载 作者:行者123 更新时间:2023-12-04 08:21:25 26 4
gpt4 key购买 nike

我正在尝试使用 DatabaseQueryProcessor 获取某些类别(在 pid 1 上),它几乎完美地工作,但某些类别在变量的输出中多次显示。
(我使用的是 headless Typ3 10: https://github.com/TYPO3-Initiatives/headless )

brandcategories = JSON
brandcategories {
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
10 {
as = brandcategories
selectFields = sys_category.uid,sys_category.title
table = sys_category
pidInList = 1
where = parent=13
where.insertData = 1
join = sys_category_record_mm on sys_category_record_mm.uid_local =
sys_category.uid
}
}
}
这给了我以下输出:
 [
{ "data": { "uid": 14, "title": "Barlow Tyrie", "pid": 1, "t3ver_state": 0 } },
{ "data": { "uid": 14, "title": "Barlow Tyrie", "pid": 1, "t3ver_state": 0 } },
{ "data": { "uid": 16, "title": "Dedon", "pid": 1, "t3ver_state": 0 } },
{ "data": { "uid": 17, "title": "Manutti", "pid": 1, "t3ver_state": 0 } },
{ "data": { "uid": 17, "title": "Manutti", "pid": 1, "t3ver_state": 0 } },
{ "data": { "uid": 19, "title": "Extremis", "pid": 1, "t3ver_state": 0 } }
]
如您所见,uid 14 显示了两次,以及 Manutti。
如果有人能告诉我如何过滤它,那就太好了,所以我只得到一次每个 ID。谢谢!

最佳答案

通常,您可以使用两个不同的选项来限制这样的查询结果:

  • 通过使用 mysql-Expression DISTINCT ,我没有经验,但如果它可以在 TypoScript 中使用,如 selectFields = DISTINCT sys_category.uid,sys_category.title .
    this page写了

    There is no support for DISTINCT, a ->groupBy() has to be used instead.


    我不确定这是否也适用于您的 TypoScript 问题。
  • 通过将结果分组为 groupBy在 TypoScript 中:groupBy = sys_category.uid

  • 关于这两种方法的一般解释可以在 here 中找到。 ,说明只与 MySQL 有关,与 TypoScript 无关。
    此外,您可以向连接添加更多约束,以便不需要上述选项。

    关于TYPO3 数据库查询处理器 : Multiple Outputs of same UIDs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65480080/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com