有条件地为Laravel Scout添加索引(Algolia)

Hir*_*del 1 laravel laravel-5 algolia laravel-scout

我正在尝试根据条件使用Laravel Scout为Algolia添加索引.例如,我有一个Article模型,如果文章是,我只想将这篇文章添加到Algolia active.我的第一个方法是:

public function toSearchableArray()
{
   if($this->active) return $record;
   return [];

}
Run Code Online (Sandbox Code Playgroud)

这只会添加活动记录,但仍会尝试添加空数组,这些数组在algolia中被视为操作(我将收取费用).第二种方法是使用shouldBesearchable()侦察员的功能:

public function shouldBeSearchable()
{
    if($this->active) return true;
    return false;

}
Run Code Online (Sandbox Code Playgroud)

这不起作用php artisan scout:import "App\Article".有没有人遇到过类似的问题?

Jul*_*eau 5

这是Laravel Scout中的一个错误,shouldBeSearchable尚未发布(在主分支上),因此您可能会遇到类似这样的问题.

虽然,好消息:它只是由这个PR修复. https://github.com/laravel/scout/pull/250