Laravel Scout-在自定义引擎中为模型执行自定义方法
这是一个非常基本的问题,但是定制引擎的文档非常少(这里的文档:) 在我的应用程序中,我将elasticsearch与laravel scout一起使用。为此,我必须创建自己的引擎 我目前正在我的评论模型上测试这个,到目前为止,它工作得很好。但是,我不知道如何在默认方法之外执行自己的方法 例如,如果我删除控制器中的注释Laravel Scout-在自定义引擎中为模型执行自定义方法,laravel,laravel-scout,Laravel,Laravel Scout,这是一个非常基本的问题,但是定制引擎的文档非常少(这里的文档:) 在我的应用程序中,我将elasticsearch与laravel scout一起使用。为此,我必须创建自己的引擎 我目前正在我的评论模型上测试这个,到目前为止,它工作得很好。但是,我不知道如何在默认方法之外执行自己的方法 例如,如果我删除控制器中的注释 Comment::find(1)->delete(); 然后,这也会自动在我的自定义引擎中运行delete方法: public function delete($model
Comment::find(1)->delete();
然后,这也会自动在我的自定义引擎中运行delete方法:
public function delete($models) {
$models->each(function ($model) {
$params = [
'index' => $model->searchableAs(),
'type' => $model->searchableAs(),
'id' => $model->id
];
$this->client->delete($params);
});
}
这也会删除搜索记录,这很好,但是如果我想创建自己的方法并以同样的方式执行它呢?例如:
Comment::find(1)->customSearchEngineMethod();
或者,使用相同的示例,如果我想在我的引擎中运行delete方法来删除搜索记录,而不删除我的注释,该怎么办