我想查询“类别”字段“商店”类型的所有条目至少一个具有特定“id”的链接,我怎样才能做到这一点?
我试过了:
$query = new \Contentful\Delivery\Query;
$query->setContentType('store')->where('fields.category.pt-BR', $id );
$page = $client->getEntries($query);
“store”中的链接结构如下:
["categories"]=>
object(stdClass)#49 (1) {
["pt-BR"]=>
array(1) {
[0]=>
object(stdClass)#52 (1) {
["sys"]=>
object(stdClass)#55 (3) {
["type"]=>
string(4) "Link"
["linkType"]=>
string(5) "Entry"
["id"]=>
string(22) "5LuXxFE2eQoqOY0yQO2iQ4"
}
}
}
}
“类别”本身看起来像:
["category"]=>
object(stdClass)#49 (1) {
["pt-BR"]=>
array(1) {
[0]=>
object(stdClass)#46 (1) {
["sys"]=>
object(stdClass)#47 (3) {
["type"]=>
string(4) "Link"
["linkType"]=>
string(5) "Entry"
["id"]=>
string(22) "5LuXxFE2eQoqOY0yQO2iQ4"
}
}
}
}
但没效果。
答案 0 :(得分:1)
你应该可以这样做:
$query = new \Contentful\Delivery\Query;
$query->setContentType('store')->where('fields.category.sys.id', $id );
$page = $client->getEntries($query);
或可能:
$query = new \Contentful\Delivery\Query;
$query->setContentType('store')->where('fields.category.pt-BR.sys.id', $id );
$page = $client->getEntries($query);
如果您希望专门针对pt-BR
区域设置。
如果您需要为返回的条目数添加限制,您只需附加:
$query = new \Contentful\Delivery\Query;
$query->setContentType('store')->where('fields.category.pt-BR.sys.id', $id)->setLimit(5);
$page = $client->getEntries($query);
如果您希望以可预测的顺序返回项目,您还需要向查询添加订单。
$query = new \Contentful\Delivery\Query;
$query->setContentType('store')->where('fields.category.pt-BR.sys.id', $id)->setLimit(5)->orderBy('sys.createdAt');
$page = $client->getEntries($query);
如果您的category
字段是值列表,则可以使用in
选择器,如下所示:
$query = new \Contentful\Delivery\Query;
$query->setContentType('store')->where('fields.category.pt-BR.sys.id', [$id], 'in')->setLimit(5)->orderBy('sys.createdAt');
$page = $client->getEntries($query);
您还可以通过访问:
轻松检查浏览器中查询的实际JSON响应