此代码从 DB 检索一篇帖子,但将其发送 7 次到 Algolia ...
数据库中有7个项目
6 条状态为已发布的记录
1 篇状态 = DRAFT 的帖子
public function toSearchableArray()
{
$array = Post::where('status', '=', static::PUBLISHED)->toArray();
return $array;
}
我究竟做错了什么 ??
此代码从 DB 检索一篇帖子,但将其发送 7 次到 Algolia ...
数据库中有7个项目
6 条状态为已发布的记录
1 篇状态 = DRAFT 的帖子
public function toSearchableArray()
{
$array = Post::where('status', '=', static::PUBLISHED)->toArray();
return $array;
}
我究竟做错了什么 ??
toSearchableArray
为每个条目调用。如果您不想索引状态设置为 DRAFT 的模型,则可以返回一个空数组。
public function toSearchableArray()
{
if ($this->status === 'DRAFT') {
return [];
}
return $this->toArray();
}
然后我找到了我的大问题的答案。枚举字段“PUBLISHED”变成了真,其他都是假的,所以 Algolia 现在可以很容易地弄清楚:-)
这是答案:
$properties = $this->toArray();
$properties['visible'] = $this->status === 'PUBLISHED';返回$属性;
:-) 和晚安