0

我正在使用 Meil​​isearch 作为 laravel scout 的驱动程序。

我在控制器中的代码:

public function search(SearchInArticlesRequest $request)
    {
        $query = $request->s;
        $articles = Article::search($query)
            ->where('article.status', '=', 'published')
            ->where('article.publish_date_time', '<=', Carbon::now()->toDateTimeString())
            ->paginate(20);
        return response()->json([
            'status' => 200,
            'message' => 'articles_were_returned',
            'entire' => [
                'articles' => $articles
            ]
        ]);
}

我的Article模型:

class Article extends Model
{
    use HasFactory, Searchable;

    protected $table = 'article';
    public function toSearchableArray()
    {
        return $this->only(['id', 'title', 'body' , 'slug']);
    }
}

我的composer.json文件:

"require": {
        "laravel/scout": "^9.2",
        "meilisearch/meilisearch-php": "^0.18.3",
    },

问题是:当调用我在上面几行中提到的控制器方法时,会出现以下错误:

Json deserialize error: unknown field filters, expected one of q, offset, limit, attributesToRetrieve, attributesToCrop, cropLength, attributesToHighlight, matches, filter, facetsDistribution at line 1 column 23

4

1 回答 1

0

您正在尝试使用目前仅与稳定的 v0.20 兼容的 SDK,并带有 Meil​​iSearch 的 v0.21 RC

于 2021-08-11T07:36:53.307 回答