如何添加过滤器,以便 API 调用仅返回我想要的结果?
How can I add the filter so that API call is returning just the results that I want?
这是我目前得到的结果,但它不起作用。
public function getCompleteness(){
$searchBuilder = new AkeneoSearchBuilder();
$searchBuilder->addFilter('completeness', '=', 100);
try {
$products = $this->apiClient->getProductApi()->all(
50,
[
'search' => $searchBuilder->getFilters(),
'scope' => 'ecommerce'
]
);
} catch (HttpException $e){
echo "Message: " . $e->getMessage();
echo "Code: " . $e->getCode();
}
return $products;
}
}
这是我尝试从 Akeneo API 使用的调用。
{{url}}/api/rest/v1/products?search={"completeness":[{"operator":"=","value":100,"scope":"ecommerce"}]}
如何使用 GetCompleteness() 方法来产生一些结果?我在使用 AkeneoSearchBuilder() 时遇到问题;
当你这样做时:
$searchBuilder = new AkeneoSearchBuilder();
$searchBuilder->addFilter('completeness', '=', 100);
$products = $this->apiClient->getProductApi()->all(
50,
[
'search' => $searchBuilder->getFilters(),
'scope' => 'ecommerce'
]
);
它的基本意思是:“对于在范围 "undefined" 内完成的所有产品,请提供它们所有的 "ecommerce" 值 ”。
您想要实现的目标是(我猜):“对于所有在范围内完成的产品 "ecommerce",给我它们的所有值”。
正如您在有关 completeness filter 的官方文档中所读到的,您需要指定一个范围:
$searchBuilder = new AkeneoSearchBuilder();
$searchBuilder->addFilter('completeness', '=', 100, ['scope' => 'ecommerce']);
现在您可以检索它们的值,方法是调用:
$products = $this->apiClient->getProductApi()->all(
50,
[
'search' => $searchBuilder->getFilters()
]
);
请注意,我在这里删除了 "scope" 参数。
继续:
- 按完整性过滤时需要specify a scope
- scope parameter on the query 仅检索此范围内的值
这是我目前得到的结果,但它不起作用。
public function getCompleteness(){
$searchBuilder = new AkeneoSearchBuilder();
$searchBuilder->addFilter('completeness', '=', 100);
try {
$products = $this->apiClient->getProductApi()->all(
50,
[
'search' => $searchBuilder->getFilters(),
'scope' => 'ecommerce'
]
);
} catch (HttpException $e){
echo "Message: " . $e->getMessage();
echo "Code: " . $e->getCode();
}
return $products;
}
}
这是我尝试从 Akeneo API 使用的调用。
{{url}}/api/rest/v1/products?search={"completeness":[{"operator":"=","value":100,"scope":"ecommerce"}]}
如何使用 GetCompleteness() 方法来产生一些结果?我在使用 AkeneoSearchBuilder() 时遇到问题;
当你这样做时:
$searchBuilder = new AkeneoSearchBuilder();
$searchBuilder->addFilter('completeness', '=', 100);
$products = $this->apiClient->getProductApi()->all(
50,
[
'search' => $searchBuilder->getFilters(),
'scope' => 'ecommerce'
]
);
它的基本意思是:“对于在范围 "undefined" 内完成的所有产品,请提供它们所有的 "ecommerce" 值 ”。
您想要实现的目标是(我猜):“对于所有在范围内完成的产品 "ecommerce",给我它们的所有值”。
正如您在有关 completeness filter 的官方文档中所读到的,您需要指定一个范围:
$searchBuilder = new AkeneoSearchBuilder();
$searchBuilder->addFilter('completeness', '=', 100, ['scope' => 'ecommerce']);
现在您可以检索它们的值,方法是调用:
$products = $this->apiClient->getProductApi()->all(
50,
[
'search' => $searchBuilder->getFilters()
]
);
请注意,我在这里删除了 "scope" 参数。
继续:
- 按完整性过滤时需要specify a scope
- scope parameter on the query 仅检索此范围内的值