面试题 / 11 / 4 / 创建于 3年前
如题
不知道这个问题的本意就是这么简单还是想问 Laravel 的底层逻辑 :wink:
我用的软删除不是时间戳,比如说 status=-1表示软删除,这个要怎么做?
Laravel 是如何执行软删除的?
软删除本质上是为查询的每一个 SQL 加上相应的过滤条件实现的;如加了软删除的模型,在每一次查询的时候,系统会自动添加 and deleted_at is null。
and deleted_at is null
在使用软删除时,需要为模型引入 SoftDelete 这个 trait,在这个 trait 里,通过添加全局 scope 的方式为这个模型添加类似这样的查询条件: whereNotNull('deleted_at')。
whereNotNull('deleted_at')
我要举报该,理由是:
推荐文章: