ThinkPHP5模型实例详解
/ 删除当前记录:delete
删除当前记录:delete
删除当前记录:delete( )
1. 源码:
/**
* 删除当前的记录
* @access public
* @return integer
*/
public function delete()
{
if (false === $this->trigger('before_delete', $this)) {
return false;
}
$result = $this->db()->delete($this->data);
$this->trigger('after_delete', $this);
return $result;
}
2. 参数与返回值:
- 参数:该方法不需要任何参数;
- 返回值:返回受影响记录数量,成功返回:1,否则返回:0;
3. 实例演示:
该方法很简单,根据数据对象主键,删除对应表中记录。
一、任务:删除id = 1002 的记录;
步骤:
- 获取id=1002的记录,当然同时也获取到了主键值;
- 根据条件id=1003,删除记录。
- 控制器:Index.php
<?php
namespace app\index\controller;
//导入自定义模型类
use app\index\model\Staff;
class Index {
public function index(){
//获取id=1002的数据
$staff = Staff::get(1002);
//根据数据对象主键,删除数据,并返回受影响记录数
$affected = $staff -> delete();
//删除成功返回:1,否则:0
echo $affected ? '删除成功!' : '删除失败~~';
}
}
上例中:get方法参数除了主键外,还可以使用所有查询表达式或者闭包函数,但只返回满足条件的第一条记录。
4. 总结:
该方法很简单,但功能单一,ThinkPHP5中的destroy方法更加强大,下节课讲~~