【发布时间】:2017-10-12 22:53:08
【问题描述】:
我有一个产品实体,它有 6 个属性应该由 Algolia 索引(名称、slug、描述、类别、超市、图像)。
当我创建一个新产品时,一切正常,并按如下所示进行索引:
{
"name": "White Bread",
"slug": "white-bread",
"description": "This is a description",
"image": "logo.png",
"supermarkets": [
"Unassigned",
"Unassigned"
],
"categories": [
"Bread",
"Unassigned"
],
"objectID": "eyJpZCI6MX0="
}
但是,如果我去专门编辑超市和类别然后保存它,它们在保存时不会被索引到 algolia。但是,如果我更改任何其他属性(例如名称),那么我对类别或超市所做的更改就会更新到 algolia 索引。
这是我从产品中获取类别的方法:
/**
* @Algolia\Attribute(algoliaName="supermarkets")
*/
public function getSupermarkets()
{
$supermarkets = array();
foreach($this->instances as $instance){
$supermarkets[] = $instance->getSupermarketName();
}
return $supermarkets;
}
如果有人对此有修复或任何建议,我将不胜感激,我认为这可能是因为超市和类别来自另一个未编入索引但尚未设法找到修复的实体。
谢谢
【问题讨论】:
-
请张贴代码而不是图片。
标签: php symfony search methods algolia