TYPO3递归查询子文件夹

时间:2014-02-24 17:12:57

标签: sql database recursion content-management-system typo3

我目前正在开发一个TYPO3扩展程序,编辑人员可以在文件夹中创建数据集。一个文件夹中数据集的输出完美无缺:

SELECT * FROM tx_chiliproducts_domain_model_product 
 WHERE hidden=0 AND deleted=0 
   AND pid='.$folderId.' 
ORDER BY sorting ASC

但我也希望能够递归搜索子文件夹。

示例:

 windows 
    wood windows
       modern wood windows
       classic wood windows
    plastic windows

如果我选择"现代木窗"在我的插件中,输出显示相应的产品。但我也希望能够选择" windows"并显示下面其中一个文件夹中的每个项目。

这样的SQL查询必须是什么样的?

1 个答案:

答案 0 :(得分:0)

在任何情况下,强烈建议API提交您的查询,无论是extbase,还是必须是旧系统,pibase。

在pibase中,您可以使用pi_getPidList($pid_list, $recursive)获取pids的递归列表,然后将其传递给您的exec_SELECTquery()

(...或者,如果你绝对需要 - 但你真的不应该 - 使用WHERE pid IN($ pid_list)构建你的SELECT查询)

对于extbase,我找到this workaround,也许还有更新的东西。