toSearchableArray()将相同的1行发送7次到Algolia?

时间:2017-10-26 17:56:26

标签: php arrays laravel-5 algolia laravel-scout

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

数据库中有7个项目

状态= PUBLISHED

的6条记录

1条状态=草稿

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

我做错了什么?

2 个答案:

答案 0 :(得分:0)

然后我找到了我的大问题的答案。枚举字段“PUBLISHED”变为true,其他任何错误,所以Algolia现在可以很容易地弄清楚: - )

这就是答案:

  

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

     

返回$ properties;

:-)和晚安

答案 1 :(得分:0)

每个条目都会调用

toSearchableArray。如果您不想将状态设置为DRAFT的模型编制索引,则可以返回一个空数组。

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

    return $this->toArray();
}