ThinkPHP删除数据使用delete方法,例如:
$Form = M('Form'); $Form->delete(5);
表示删除主键为5的数据,delete方法可以删除单个数据,也可以删除多个数据,这取决于删除条件,例如:
$User = M("User"); // 实例化User对象 $User->where('id=5')->delete(); // 删除id为5的用户数据 $User->delete('1,2,5'); // 删除主键为1,2和5的用户数据 $User->where('status=0')->delete(); // 删除所有状态为0的用户数据
delete方法的返回值是删除的记录数,如果返回值是false则表示SQL出错,返回值如果为0表示没有删除任何数据。
也可以用order和limit方法来限制要删除的个数,例如:
// 删除所有状态为0的5 个用户数据 按照创建时间排序 $User->where('status=0')->order('create_time')->limit('5')->delete();
为了避免错删数据,如果没有传入任何条件进行删除操作的话,不会执行删除操作,例如:
$User = M("User"); // 实例化User对象 $User->delete();
不会删除任何数据,如果你确实要删除所有的记录,除非使用下面的方式:
$User = M("User"); // 实例化User对象 $User->where('1')->delete();
数据删除方法支持的连贯操作方法有:
连贯操作 | 作用 | 支持的参数类型 |
---|---|---|
where | 用于查询或者更新条件的定义 | 字符串、数组和对象 |
table | 用于定义要操作的数据表名称 | 字符串和数组 |
alias | 用于给当前数据表定义别名 | 字符串 |
order | 用于对数据排序 | 字符串和数组 |
lock | 用于数据库的锁机制 | 布尔值 |
relation | 用于关联删除(需要关联模型支持) | 字符串 |
scope | 用于命名范围 | 字符串、数组 |
bind | 用于数据绑定操作 | 数组 |
comment | 用于SQL注释 | 字符串 |
fetchSql | 不执行SQL而只是返回SQL | 布尔值 |