0

此代码从 DB 检索一篇帖子,但将其发送 7 次到 Algolia ...

数据库中有7个项目

6 条状态为已发布的记录

1 篇状态 = DRAFT 的帖子

public function toSearchableArray()
{
    $array = Post::where('status', '=', static::PUBLISHED)->toArray();
      return $array;
}

  我究竟做错了什么 ??

4

2 回答 2

0

toSearchableArray为每个条目调用。如果您不想索引状态设置为 DRAFT 的模型,则可以返回一个空数组。

public function toSearchableArray()
{
    if ($this->status === 'DRAFT') {
        return [];
    }

    return $this->toArray();
}
于 2017-10-30T10:48:53.890 回答
0

然后我找到了我的大问题的答案。枚举字段“PUBLISHED”变成了真,其他都是假的,所以 Algolia 现在可以很容易地弄清楚:-)

这是答案:

$properties = $this->toArray();
$properties['visible'] = $this->status === 'PUBLISHED';

返回$属性;

:-) 和晚安

于 2017-10-27T00:28:47.970 回答