delete() destroy()删除数据的区别---ThinkPHP5(TP5)对数据库操作总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delete() destroy()删除数据的区别---ThinkPHP5(TP5)对数据库操作总结相关的知识,希望对你有一定的参考价值。

参考技术A delete() 返回删除的条数 ,若一条没有删除则返回值为零

destroy()返回 true/false  ,若删除不纯在的记录,返回值依旧为true

Db::table('t')->destroy([9,10]);报以下错误

T::delete(1); 报以下错误

ThinkPHP5.0 模型删除操作

1、删除模型数据,可以在实例化后调用delete方法

$user = User::get(1);
$user->delete();

2、根据主键删除(5.0.9版本以上destroy方法传入空数组和空字符串不会进行任何删除操作)

User::destroy(1);
// 支持批量删除多个数据
User::destroy(‘1,2,3);
// 或者
User::destroy([1,2,3]);

3、条件删除

数组进行条件删除

User::destroy([‘status‘ => 0]);// 删除状态为0的数据

闭包删除
User::destroy(function($query){
    $query->where(‘id‘,‘>‘,10);
});

数据库类的查询条件删除
User::where(‘id‘,‘>‘,10)->delete();

 

以上是关于delete() destroy()删除数据的区别---ThinkPHP5(TP5)对数据库操作总结的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 中的 destroy() 和 delete() 方法有啥区别?

销毁和删除的区别

Rails :dependent => :destroy VS :dependent => :delete_all

ThinkPHP5.0 模型删除操作

delete_all vs destroy_all?

没有 id 的 Laravel 资源路由销毁(DELETE)