Eloquent ORM 高级特性与使用技巧
1. 软删除实体的恢复与强制删除
在 Eloquent 中,对于软删除的实体,我们可以进行恢复和强制删除操作。
1.1 恢复软删除实体
可以通过实例或查询来恢复软删除的实体,示例代码如下:
$contact->restore();
// or
Contact::onlyTrashed()->where('vip', true)->restore();
1.2 强制删除软删除实体
使用 forceDelete()
方法可以强制删除软删除的实体,示例代码如下:
$contact->forceDelete();
// or
Contact::onlyTrashed()->forceDelete();
2. 作用域(Scopes)
作用域允许我们定义预构建的过滤器,可分为本地作用域和全局作用域。
2.1 本地作用域(Local Scopes)
本地作用域是最简单的,它可以将常用的查询逻辑封装起来。例如,我们要查询活跃的 VIP 用户:
$activeVips = Contact::where('vip', true)->where('trial', false)->get();