更新索引algolia

时间:2017-09-12 15:39:49

标签: laravel laravel-5 algolia laravel-scout

我使用带有Scout的Laravel 5.5。我在algolia中使用Documents和与这些文档相关联的用户

有一个索引
class Documents extends Model
{
    use Searchable;

    public function toSearchableArray()
    {
      $data = $this->toArray();

      // formatting relationship for algolia

      $data['users'] = $this->types->toArray();
      $data['document_type'] = $this->typeDocuments->name;
      return $data;
    }

    protected $fillable = array('name', 'description', 'document_type');

    public function types() {
        return $this->belongsToMany('App\Users', 'document_rights', 'user_id', 'id');
    }

    public function typeDocuments() {
        return $this->belongsTo('App\Document_type', 'document_type');
    }
}

就我而言,我会在一天内更新用户名,如下所示:

public function update(Request $request)
{
    $user = Users::find(5);
    $user->name = 'jean floriot';
    $user->update();
}

但它永远不会改变Algolia索引中的用户。任何想法如何进行?

1 个答案:

答案 0 :(得分:5)

我相信你可以使用searchable()方法。在$this->update()之后,你会得到类似的结果:

App\Documents::where('user_id', '=', $this->id)->searchable();

请告诉我这是否有效或错过了什么。