【问题标题】:How to add scope query in Laravel scout to retrieve record in model如何在 Laravel scout 中添加范围查询以检索模型中的记录
【发布时间】:2019-07-01 23:17:52
【问题描述】:

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

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

我想通过 Laravel Scout 搜索后,Post 的结果将应用这个范围

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

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

【问题讨论】:

    标签: laravel laravel-scout


    【解决方案1】:

    这不是文档中的功能,但您可以将回调传递给 query 方法 https://github.com/matchish/laravel-scout-elasticsearch/issues/18#issuecomment-505977823

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

    【讨论】:

    • 我正在使用你的包,但不幸的是,作用域方法似乎没有效果。
    • 这不是特定于软件包的功能
    【解决方案2】:

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

    【讨论】:

    • 答案应该是有用的和信息丰富的。这两者都不是。
    猜你喜欢
    • 2021-04-05
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2020-11-19
    • 1970-01-01
    相关资源
    最近更新 更多