gpt4 book ai didi

php - 如何使用对象列表作为关系对象的条件

转载 作者:可可西里 更新时间:2023-11-01 00:30:29 24 4
gpt4 key购买 nike

这个问题以前可能有人问过,但我找不到满意的答案。让我们有一个名为 Product 的对象与 Tags 有关系。因此,如果我们需要为特定标签查找产品,因为 pimcore 对象列表直接在主表/ View 上工作,将关系存储为单个列中的逗号分隔值。所以其他人只建议使用 LIKE 搜索解决方案。

$entries ->setCondition("Tags LIKE " . $entries->quote("%".$tagId."%"));

但我认为,这个解决方案有一个更大的问题,如果某些产品存储标签 ID,如 00,111,112,189,而我们想搜索标签 ID = 11,它也会返回不受欢迎的标签 ID,如 111、112 记录的产品。

一种完全忽略 pimcore 对象并使用 Zend DB 调用 object_[PRODUCCLASSID] 和 object_relations_[PRODUCCLASSID] View 的解决方案。

如果存在仅使用 Pimcore 对象 API 解决问题的任何其他解决方案。

最佳答案

据我所知,关系是这样保存的:,00,111,112,189,。所以在开头和结尾用逗号。

这使您能够像这样使用您的条件:

$entries ->setCondition("Tags LIKE " . $entries->quote("%,".$tagId.",%"));

注意 % 符号前后的逗号。

来源:Filtering for relations via PHP API

关于php - 如何使用对象列表作为关系对象的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34805471/

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