【小编推荐】ThinkPHP3.2——数据删除

2014-06-26   |   发布者:梁国芳   |   查看:3320次

Thinkphp

ThinkPHP删除数据使用delete方法,例如:

  1. $Form = M('Form');
  2. $Form->delete(5);

表示删除主键为5的数据,delete方法可以删除单个数据,也可以删除多个数据,这取决于删除条件,例如:

  1. $User = M("User"); // 实例化User对象
  2. $User->where('id=5')->delete(); // 删除id为5的用户数据
  3. $User->delete('1,2,5'); // 删除主键为1,2和5的用户数据
  4. $User->where('status=0')->delete(); // 删除所有状态为0的用户数据

delete方法的返回值是删除的记录数,如果返回值是false则表示SQL出错,返回值如果为0表示没有删除任何数据。

也可以用order和limit方法来限制要删除的个数,例如:

  1. // 删除所有状态为0的5 个用户数据 按照创建时间排序
  2. $User->where('status=0')->order('create_time')->limit('5')->delete();

为了避免错删数据,如果没有传入任何条件进行删除操作的话,不会执行删除操作,例如:

  1. $User = M("User"); // 实例化User对象
  2. $User->delete();

不会删除任何数据,如果你确实要删除所有的记录,除非使用下面的方式:

  1. $User = M("User"); // 实例化User对象
  2. $User->where('1')->delete();

数据删除方法支持的连贯操作方法有:

连贯操作 作用 支持的参数类型
where 用于查询或者更新条件的定义 字符串、数组和对象
table 用于定义要操作的数据表名称 字符串和数组
alias 用于给当前数据表定义别名 字符串
order 用于对数据排序 字符串和数组
lock 用于数据库的锁机制 布尔值
relation 用于关联删除(需要关联模型支持) 字符串
scope 用于命名范围 字符串、数组
bind 用于数据绑定操作 数组
comment 用于SQL注释 字符串