【发布时间】:2019-07-09 19:40:08
【问题描述】:
我正在尝试根据 2 个或更多类别过滤博客文章。
博客文章是一种内容类型,类别也是如此。每篇博文只能有一个类别。该类别通过参考字段连接到帖子。我希望用户能够过滤帖子。用户可以一次选择多个类别。
我似乎无法伪造查询。这是我目前所拥有的:
// PHP
$categories = ["79RwpuYXo4W9FiYMdpeShj", "4CAkZRYSa3EB23ipTwZ92R"];
$query = (new Query)
->setContentType('blogPosts')
->where('fields.postCategory.sys.id', $categories, 'in'); // using 'all' instead of 'in' also doesn't return any results
在我看来,这应该会获取包含对任一类别条目 (id) 的引用的所有博客文章。但是,使用此查询不会返回任何条目。我正在使用contentful/laravel v4.0。
【问题讨论】:
-
最后一行的类别变量是否需要 $ 符号?还可以查看以下文档中的序列contentful.com/developers/docs/android/tutorials/…
-
对不起,这只是问题中的一个错字。现在解决这个问题。
-
它是否返回任何内容而不过滤类别?如果是这样,可以将 $categories 作为逗号分隔的字符串而不是数组传递..
-
也尝试过,但没有任何运气。如果我只要求一个类别 ID,那么可行。但是,我无法想象 Contentful 不能传递这么简单的请求(多个类别)。是的,如果我完全省略
where(),我会得到所有博客文章。
标签: php api contentful