-
$model = M(
"表名");
-
$model = D(
"表名或模型名");
//使用模型名时,必须生成一个模型文件
M 是系统模型,D 是自定义模型。
M函数比较适合增删改查操作,D函数适合增删改查和一些其他操作。由于M不需要加载具体的模型类,因此M函数的效率会比D高一些,推荐使用M。
-
$model->add($data);
-
-
$model->data($data)->add();
-
-
//3.2.3版本开始,可以支持不执行SQL而只是返回SQL语句
-
$sql = $model->fetchSql(
true)->add($data);
-
echo $sql;
-
//该功能需要3.2.3以上版本,3.2.3以下版本仅对mysql数据库支持
-
$model->addAll($dataList)
-
//删除一条数据
-
$model->delete(
"5");
//删除主键为5的数据
-
-
//删除多条数据
-
$model->where(
'id=5')->delete();
// 删除id为5的用户数据
-
$model->delete(
'1,2,5');
// 删除主键为1,2和5的用户数据
-
$model->where(
'status=0')->delete();
// 删除所有状态为0的用户数据
-
-
//也可以用order和limit方法来限制要删除的个数
-
$model->where(
'status=0')->order(
'create_time')->limit(
'5')->delete();
// 删除所有状态为0的5 个用户数据 按照创建时间排序
-
-
//为了避免错删数据,如果没有传入任何条件进行删除操作的话,不会执行删除操作
-
$model->delete();
-
-
//删除所有的记录,可使用下面的方式
-
$model->where(
'1')->delete();
-
$model->where()->save($data);
-
-
//如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录
-
$model->save($data)
-
-
//更新一个字段
-
$model-> where(
'id=5')->setField(
'name',
'ThinkPHP');
// 更改用户id为5的name值
-
-
//更新多个字段
-
-
$model-> where(
'id=5')->setField(data );
// 更改用户id为5的name和email的值
-
-
//对于统计字段(通常指的是数字类型)的更新
-
$model->where(
'id=5')->setInc(
'score',
3);
// 用户的积分加3
-
$model->where(
'id=5')->setInc(
'score');
// 用户的积分加1
-
$model->where(
'id=5')->setDec(
'score',
5);
// 用户的积分减5
-
$model->where(
'id=5')->setDec(
'score');
// 用户的积分减1
-
-
//延迟更新
-
$model->where(
'id=5')->setInc(
'view',
1);
// 文章阅读数加1
-
$model->where(
'id=5')->setInc(
'view',
1,
60);
// 文章阅读数加1,并且延迟60秒更新(写入)
-
$result = $model->where()->find();
-
-
$model->field(
"字段,字段...")->find();
-
$model->field()->where()->find();
-
$model->where()->select();
-
-
$model->field(
"字段...")->select();
-
$model->where()->select();
-
$model->order()->select();
-
$model->limit()->select();
-
$model->field()->where()->order()->limit()->select();
$model->query($sql);
$model->execute($sql);
$model->where()->count(); $model->where()->max(); $model->where()->min(); $model->where()->avg(); $model->where()->sum();
-
$model->join(
"表2 on 关联的字段相等")->find();
-
$model->join(
"表2 on 关联的字段相等")->select();
-
use
Think\
Page;
//导入分页类
-
-
$page =
new Page(总记录数,每页显示的记录数);
//实例化分页类
-
-
$page->firstRow;
//每页记录起始值
-
$page->listRows;
//每页显示的记录数
-
-
$page->show();
//分页显示输出
官方提供的实例:
-
$User = M(
'User');
// 实例化User对象
-
$count = $User->where(
'status=1')->count();
// 查询满足要求的总记录数
-
$Page =
new \Think\Page($count,
25);
// 实例化分页类 传入总记录数和每页显示的记录数(25)
-
$show = $Page->show();
// 分页显示输出
-
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
-
$list = $User->where(
'status=1')->order(
'create_time')->limit($Page->firstRow.
','.$Page->listRows)->select();
-
$this->assign(
'list',$list);
// 赋值数据集
-
$this->assign(
'page',$show);
// 赋值分页输出
-
$this->display();
// 输出模板
-
$model->startTrans();
//开启事务
-
-
$model->commit();
//提交
-
-
$model->rollback();
//回滚