Laravel 8 通过查询添加
如果你想通过 Eloquent 查询构造器将模型集合添加到搜索索引中,你也可以在 Eloquent 查询构造器上链式调用 searchable
方法。searchable
会把构造器的查询 结果分块 并且将记录添加到你的搜索索引里。同样的,如果你已经配置 Scout 为使用队列,则所有的数据块将在后台由你的队列工作进程添加:
// 通过 Eloquent 查询构造器添加...
App\Models\Order::where('price', '>', 100)->searchable();
// 你也可以通过模型关系增加记录...
$user->orders()->searchable();
// 你也可以通过集合增加记录...
$orders->searchable();
searchable
方法可以被看做是「更新插入」的操作。换句话说,如果模型记录已经在你的索引里了,它就会被更新。如果搜索索引中不存在,则将其添加到索引中。