Laravel5.1 模型--删除

来源:互联网 发布:网络k歌设备推荐 编辑:程序博客网 时间:2024/06/07 07:17

Laravel5.1 模型–删除

今天我们来看看如何删除数据

delete删除模型

获取到模型,执行delete方法就好:

复制代码
public function destroy(id)  
    {
article = Article::findOrFail(id);if(article->delete()){
echo ‘删除成功’;
}else{
echo ‘删除失败’;
}
}
复制代码
delete方法会返回一个bool值。

destory删除模型

相比较delete而言更加简洁,只要你知道id字段就可以使用:

$delete = \App\Models\Article::destroy(3);// 也可以接受一个数组

// delete = \App\Models\Article::destroy([1,5,6,7]);  
    return “删除了{
delete}条数据”;

通过某些条件删除模型

我们可以使用where来满足我们的业务逻辑:

// deleted来记录删除了多少条数据$deleted = \App\Models\Article::where('id','<',10)->delete();

今日焦点—软删除实现

软删除其实是一种假删除,它的核心理念是 加入了一个标记字段,如果已经被软删除,这个字段的值就会改变 每次我们查询时就会过滤这条数据,看上去就像已经被删除了一样。

在laravel中 以一个日期字段作为标识,这个日期字段是可以自定义的,我们一般使用 delete_at,当记录被软删除时 delete_at会赋予删除时间,否则它便是空的。 如果我们要使用软删除,需要做一些配置:

要让Eloquent模型支持软删除,还要做一些设置。首先在模型类中要使用SoftDeletestrait,该trait为软删除提供一系列相关方法,具体可参考源码Illuminate\Database\Eloquent\SoftDeletes,此外还要设置$date属性数组,将deleted_at置于其中:

复制代码