Laravel 8 软删除

2021-07-26 09:59 更新

如果你索引的模型是 [soft Delete](/docs/laravel / 8.x/eloquent#soft-deleting),并且您需要搜索已删除的模型,请设置 config /scout.php 中的 soft_delete 选项。 配置文件为 “ true”:

'soft_delete' => true, 

当此配置选项为 “true” 时,Scout 将不会从搜索索引中删除软删除的模型。 相反,它将在索引记录上设置一个隐藏的__soft_deleted 属性。 然后,您可以在搜索时使用 withTrashedonlyTrashed 方法来检索软删除的记录:

// 检索结果时包括删除记录...
$orders = App\Models\Order::search('Star Trek')->withTrashed()->get();

// 检索结果时仅包括已删除记录...
$orders = App\Models\Order::search('Star Trek')->onlyTrashed()->get(); 

技巧:当使用 “forceDelete” 软删除的模型被永久删除时,Scout 会自动将其从搜索索引中删除。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号