如何在Laravel Scout中添加范围查询以检索模型中的记录

时间:2019-06-26 15:56:47

标签: laravel laravel-scout

我有一个模型Post具有方法范围:

public function scopeABC($query) {
    return $query->where('status', 'publish') //
}

我想在Laravel Scout搜索之后,Post的结果将应用此范围

$posts = Post::searchable('zzzzz')->ABC()->paginate();

但是Laravel引发异常Laravel \ Scout \ Builder没有方法ABC。希望你能帮助我。谢谢!

2 个答案:

答案 0 :(得分:1)

该功能未记录,但您可以将回调传递给query方法 https://github.com/matchish/laravel-scout-elasticsearch/issues/18#issuecomment-505977823

$posts = Post::searchable('zzzzz')->query(function($query) {
    return $query->ABC();
})->paginate();

答案 1 :(得分:0)

我无法为您找到解决方案,但我认为您的searchable(()无法与paginate()一起使用,您的问题不是来自范围函数