PHP day7 TP5 model模型对象
来源:互联网 发布:html5跑酷游戏源码 编辑:程序博客网 时间:2024/06/07 01:09
1. tp 模型对象 查询数据
//一,获取一条数据 //1.传递闭包函数 /*$res = User::get(function($query){ $query->where('username','eq','user002') ->field('username,email'); });*/ //2. /*$res = User::where('id',2) ->field("id,username") ->find();*/ //二,获取多条数据 //3. /*$res = User::all("1,2,3"); //4. //$res = User::all(function($query){ $query ->where('id','<',5) ->field('id,email'); }); foreach($res as $val){ dump($val->toArray()); }*/ //5. /*$res = User::where('id','<',5) ->field('username,email') ->limit(2) ->order('id DESC') ->select(); foreach($res as $val){ dump($val->toArray()); }*/ //$res = $res->toArray(); //三,获取某个字段数据 //$res = User::where('id',10)->value('email'); //四,获取某一列字段数据 //$res = User;;column('email','username'); return $this->fetch();
二、 使用模型添加数据
//create()第二个参数,是允许插入的字段数组,(若设置为true,可以排除不能添加的字段) /*$res = User::create([ 'username' => 'user002', 'password' => md5('1234'), 'email' => '12345@email.com' ],true);*/ //使用userModel //返回值为保存的对象 /*$userModel = new User; $userMpdel->username = 'user021'; $userModel->email = '123456@email.com'; $userModel->save(); //或 //返回值为插入数据的行数 //allowField([字段1,字段2...]),允许插入的字段,,也可以设置true,过滤掉不需要的字段 //$userModel->allowField([字段1,字段2...])->save([ 'username' => 'user021', 'email' = '132456@email.com' ]); // */ //返回值为插入数据的对象数组 $userModel = new User; $res = $userModel->saveAll([ ['username'=>'user001'], ['username'=>'user002'], ['username'=>'user003'] ]); foreach($res as $val){ dump($val->toArray()); }
3. 使用模型更新数据
//update的参数中若存在主键,则更新主键为传递值的对象 //返回更新的对象 /*$res = User::update([ 'id' => 1, 'username' => 'user003' ]);*/ /*$res = User::update([ 'username' => 'user003' ],['id' => 1]);*/ //或 传递闭包函数 /*$res = User::update([ 'username' => 'user003' ],function($query){ $query->where('id','LT',2); });*/ //返回被更新的数据行数 /*$res = User::where('id','<',6) ->update([ 'username' => 'user003' ]);*/ //返回被更新的数据行数 /*$userModel = User::get(1); $userModel->username = '123'; $res = $userModel->save();*/ //save 传递第二参数,更新以第二个参数为条件的更新 //第二个参数 也可以设置为一个闭包函数 //返回值 为影响的行数 /*$userModel = new User; $res = $userModel->save([ 'email' => '123465@email.com' ],[ 'id' => 4 ]);*/ $userModel = new User; //返回值 为影响的行数 $res = $userModel -> saveAll([ 'id'=>1,'username'=>'user0002' ], [ 'id'=>2,'username'=>'user0003' ]); dump($res);
4.使用模型删除数据
//返回被删除的行数 //1.直接传主键值 //2.传递数组如 ['id'=>2] //3.传递闭包函数 /*$res = User::destroy(function($query){ $query->where('id','<',5); });*/ /*$userModel = User::get(2); $res = $userModel->delete();*/ $res = User::where('id','<',5) ->delete();
5.使用模型聚合操作
$res = User::count(); $res = User::where('id','>',10)->count(); $res = User::max('num'); $res = User::min('num'); $res = User::where('id','<',5)->max(num); $res = User::sum(num); $res = User::avg(num);
6. 模型获取器 --》 Model类中: get字段名Attr($val){}
$res = User::get(3); //获取经过模型获取器后的数据 dump($res->sex); $res->toArray(); //获取经过模型获取器后的数据 $res->getData();
7. 模型修改器 -》 Model类中: set字段名Attr($val){}
$auto 数据添加和更新都会进行操作 配合set字段名Attr($val){ return 操作; }
$insert 数据进行插入时进行操作 配合set字段名IndertAttr($val){ return 操作; }
$update 数据进行更新时发生操作 配合set字段名UpdateAttr($val){ return 操作; }
自动完成 -- 配合修改器使用
例如:
//先在model类内添加,需要自动完成字段数组 protected $auto = ['字段1','字段2']; public function set字段1Attr(){ return 处理字段1(); }
阅读全文
0 0
- PHP day7 TP5 model模型对象
- PHP day8 TP5 model更新,软删除
- [李景山php]每天TP5-20170108|thinkphp5-Model.php-1
- [李景山php]每天TP5-20170109|thinkphp5-Model.php-2
- [李景山php]每天TP5-20170110|thinkphp5-Model.php-3
- [李景山php]每天TP5-20170111|thinkphp5-Model.php-4
- [李景山php]每天TP5-20170112|thinkphp5-Model.php-5
- [李景山php]每天TP5-20170113|thinkphp5-Model.php-6
- [李景山php]每天TP5-20170114|thinkphp5-Model.php-7
- [李景山php]每天TP5-20170115|thinkphp5-Model.php-8
- TP5 模型
- tp5 model 使用
- TP5 Model 功能总结
- TP5 Model层 模型操作——指定数据库/表 && 自动写入时间
- 面向对象(day7)
- day7面向对象7
- tp5模型笔记---一对一
- tp5中的模型关联
- Mysql(二)
- for循环输出数据到数组中
- sql server 的T-SQL 学习笔记(八)
- 游戏开发中的人工智能(十一):规则式 AI
- .NET的Snk使用方法
- PHP day7 TP5 model模型对象
- 记录日志-1
- UVA1572 Self_Assembly-拓扑排序
- TextView长按复制-粘贴
- 用“Keras”11行代码构建CNN
- 文章标题
- 需求调研问卷的编写(2)
- sql server 的T-SQL 学习笔记(九)
- android中的无线通信蓝牙