Laravel Scout with Meilisearch返回某些模型的结果,而不是其他模型

xmd2e60i  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(138)

我尝试在meilisearch中使用laravel scout来返回产品索引的结果。它不适用于这个模型,但它适用于我的用户模型。
我已经通过这两个尝试,并找到差异,将导致这一点,似乎无法找出问题是什么。
当我运行

return \App\Models\Product\Product::search('iphone')->raw();

字符串
我从meilisearch索引中得到原始结果。
但是当我跑步的时候

return \App\Models\Product\Product::search('iphone')->get();


没有结果显示。
更多信息:meilisearch/meilisearch-php:1.4.1 laravel/scout:10.5.1
当使用getKeygetScoutKey时,将返回正确的_id密钥名称(在搜索工作的User模型上也是如此
没有筛选出的结果或相关模型
产品型号

protected $primaryKey = self::ID;

    public function toSearchableArray()
    {
        $searchable                         = [];
        $searchable[self::ID]               = $this->getAttribute(self::ID);
        $searchable[self::NAME]             = $this->getAttribute(self::NAME);
        $searchable[self::SLUG]             = $this->getAttribute(self::SLUG);
        $searchable[self::MODEL_NAME]       = $this->getAttribute(self::MODEL_NAME);
        $searchable[self::MODEL_SUB]        = $this->getAttribute(self::MODEL_SUB);
        $searchable[self::MODEL_GENERATION] = $this->getAttribute(self::MODEL_GENERATION);
        $searchable[self::MODEL_SIZE]       = $this->getAttribute(self::MODEL_SIZE);
        $searchable[self::MODEL_EXTRA]      = $this->getAttribute(self::MODEL_EXTRA);
        $searchable[self::BRAND_NAME]       = ($this->brand) ? $this->brand->name : 'unknown';
        $searchable[self::DESCRIPTION]      = $this->getAttribute(self::DESCRIPTION);

        return $searchable;
    }


有谁知道是什么导致的吗?

ewm0tg9j

ewm0tg9j1#

在另一个访问相同的meilisearch示例和数据库的项目上,这是在Laravel 8上,使用get()返回结果,而不是在Laravel 10项目中失败的项目。
降级followin包以匹配Laravel 8项目解决了这个问题,显然这不是一个长期的解决方案,但让我再次在需要的地方使用这个功能。

meilisearch/meilisearch-php: 1.4.1 downgraded to ^0.24.2
laravel/scout: 10.5.1 downgraded to ^9.4

字符串

相关问题