Laravel Scout中移除ObjectID的命名空间前缀方法
解决Laravel Scout + Algolia中ObjectID带命名空间前缀的问题
- 先确认模型里的
getScoutKey()实现正确,确保直接返回uuid字段:
public function getScoutKey() { return $this->uuid; }
- 执行索引重置和重新同步命令,因为旧的索引记录不会自动更新:
# 清除目标模型的现有索引数据 php artisan scout:flush "App\Models\Path" # 重新将模型数据导入Algolia索引 php artisan scout:import "App\Models\Path"
- 如果操作后仍存在前缀,检查是否有全局或模型级的自定义搜索驱动配置——比如通过
Scout::extend或模型的searchableUsing()方法修改了ObjectID生成逻辑,确保这些地方没有拼接模型命名空间。
内容的提问来源于stack exchange,提问作者L. Fox
相关产品推荐
相关产品推荐

