database - typescript : make transversal MySQL query without use of `pidInList` option

标签 database typo3 typoscript

it's mentioned on TYPO3 wiki ,我们可以使用 TypoScript 进行查询:

page.60 = CONTENT
page.60 {
   table = tt_content
   select {
       pidInList = 73
       where = header != ###whatever###
       orderBy = ###sortfield###
       markers {
         whatever.data = GP:first
         sortfield.value = sor
         sortfield.wrap = |ting
       }
   }
}

对我来说不方便的是参数pidInList。即使我们没有使用它,脚本也会用查询中的 pid 替换当前页面 id。有没有办法让它更简单,例如实现这样简单的查询:

select title from pages where uid=100;

最简单的 TypoScript 等价物是什么?

最佳答案

据我所知,pidInList 是必需的。解决方法是将其设置为“0”并使用recursive 属性。

page.60 = CONTENT
page.60 {
   table = tt_content
   select {
       pidInList = 0
       recursive = 99
       where = header != ###whatever###
       orderBy = ###sortfield###
       markers {
         whatever.data = GP:first
         sortfield.value = sor
         sortfield.wrap = |ting
       }
   }
}

注意: 如果您担心性能影响并且纯粹通过 UID 选择记录,请考虑改用 RECORDS 对象。

关于database - typescript : make transversal MySQL query without use of `pidInList` option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10518494/

相关文章:

mysql - 记录测试结果的数据库设计

python - 如何使用我设置的模型创建此对象?

php - 如何在TYPO3中实现带有自定义元素的页面模板?

error-handling - TYPO3 404 错误处理

typo3 - 访问fluid_styled_content元素中的页面属性

javascript - Typoscript 条件不适用于 IE11

database - MongoDB 中的所有查询都是临时的吗?

sql - 聚簇索引必须是唯一的吗?

typo3 - 防止渲染 FCE 的 TYPO3 默认标题

typo3 - 我如何将存储库注入(inject)到 CommandController