分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

thinkphp5.0 模型的应用

发布时间:2023-09-06 01:31责任编辑:顾先生关键词:thinkphp
 
 ???????????$where = array();// ???????????$where[‘show_id‘] = 1;// ?????????????var_dump(Db::connect());//查看数据库配置// ?????????????$res = Db::query(‘select * from fanke_show where show_id = ?‘,[1]);//使用sql语句查询// ?????????????$res = db::name(‘show‘,[],false) -> where($where) -> select();//在数据库里面已经输入了前缀,在第三个参数传人false,则不会再每次调用的时候实例化// ?????????????$res = Db::execute(‘insert into fanke_show set show_id=?,show_image_scr=?,show_title=?,show_content=?,show_time=? ‘,// ?????????????????[// ?????????????????????‘2‘,// ?????????????????????‘http://www.qq.com‘,// ?????????????????????‘对!就是你‘,// ?????????????????????"你很帅帅!",// ?????????????????????22// ?????????????????]);//使用sql语句插入数据// ??????????????$res = Db::table(‘fanke_show‘) -> where($where) -> select();//select 返回所有的记录 返回值得结果是一个二维数组// ??????????????$res = Db::table(‘fanke_show‘) -> where($where) -> find();//find 返回一条的记录 返回值得结果是一个一维数组,如果结果不存在,则返回null// ??????????????$res = Db::table(‘fanke_show‘) -> where($where) -> value(‘show_title‘);//value 返回的是一条记录 并且是字段记录的某个字段值 不存在的话则返回null// ??????????????$res = Db::table(‘fanke_show‘) -> where($where) -> column(‘show_title‘,‘show_title‘);//column 返回的是一维数组 数组里面的value值就是我们要获取的列的值 不存在的话则返回null//----------------------------------------添加数据---------------------------------------------------------// ????????????????$db = db::name(‘show‘);//这是方法我之前什么没有想到呢 ???????????????//insert 插入数据 放回插入的行数 ???????????????//insertGetId ?插入数据 返回插入的行数和自增id ???????????????//insertAll ?一次插入多条数据,返回插入成功的行数// ????????????????$where = null;// ???????????????????$where[‘show_image_scr‘] = ‘你‘;// ???????????????????$where[‘show_title‘] = ‘很‘;// ???????????????????$where[‘show_content‘] = ‘帅‘;// ???????????????????$where[‘show_time‘] = 333;//// ????????????????$res = $db -> insert($where);//插入数据 放回插入的行数// ????????????????$res = $db -> insertGetId($where);//插入数据 返回插入的行数和自增id// ???????????????????$data = [];// ??????????????????for($i = 0; $i<9;$i++){// ???????????????????????$data[$i] = $where;// ????????????????????}// ??????????????????$res = $db -> insertAll($data); //一次插入多条数据,返回插入成功的行数//--------------------------------数据库更新----------------------------------------------------------// ???????????$db = db::name(‘show‘); ???????????//update 更新一条数据 返回的是行数 ???????????//setField 只更新一个字段 ???????????//setInc 自增加 ?默认值为1, 返回的是影响的行数 ???????????//setDec 自减少 默认值为1 ,返回的是影响的行数// ???????????update// ???????????$res = $db ->where([// ???????????????‘show_id‘ => 1// ???????????]) -> update([// ???????????????‘show_image_scr‘ => ‘123‘,// ???????????????‘show_title‘ => ‘123‘,// ???????????????‘show_content‘ => ‘123‘,// ???????????????‘show_time‘ => ‘123‘// ???????????]); ???????????//setField// ???????????$res = $db -> where([// ???????????????‘show_id‘ => 5// ???????????]) -> setField(// ???????????????‘show_title‘,‘我是谁?‘); ?????????????//setInc// ???????????$res = $db ->where([// ???????????????‘show_id‘ => 8// ???????????])->setInc(‘show_time‘,5); ???????????//setDec// ???????????$res = $db ->where([// ???????????????‘show_id‘ => 8// ???????????])->setDec(‘show_time‘,5);//--------------------------------数据删除---------------------------------------------------------- ???????????//delete 删除一条数据 返回影响行数 如果你的条件是主键的话,可以直接在delete()方法传递数据// ????????????$res = $db -> where([// ????????????????‘show_id‘ => 10// ????????????])->delete();// ???????????$res = $db ->delete(11);// ???????????$res = $db -> where([‘1=1‘]) -> delete();//删除全部数据//--------------------------------条件构造器--------------------------------------------------------- ???????????//buildSql 返回sql输出语句 ?最后看会条件构造的视频 ???????????//EQ = ???????????//NEQ <> ???????????//GT > ???????????//GET >= ???????????//BETWEEN BETWEEW * AND * ?之间 ???????????//NOTBETWEEN NOTBETWEEN *AND* 不在这之间 ???????????//IN IN(*,*) ???????????//NOTIN NOT IN(*,*)// ???????????$res = $db -> where([// ???????????????‘show_id‘ => [‘get‘,[1,10]], ??//and// ???????????????‘show_title‘ => ‘很‘// ???????????])-> buildSql();//--------------------------------链式操作--------------------------------------------- ???????????//看回视频吧 ???????????//field ???????????//order ???????????//limit ???????????//page// ???????????$res = $db// ???????????????-> where(‘show_time‘,‘eq‘,‘333‘)// ???????????????-> field(‘show_title‘)// ???????????????-> limit(4,5)// ???????????????-> select();//----------------------------------模型---------------------------------------------- ???????????//获取模型 ???????????//最好使用前两种方式,这样可读性更高// ?????????????$res = s::get(3);//第一种// ?????????????$show = new s;//第二种// ?????????????$res = $show::get(1);// ?????????????$show = Loader::model(‘show‘);//第三种方法 以上两个都要use他们的模型,这个不用,只要use think\Loader,其他共有,适用于多个模型// ?????????????$res = $show::get(1);// ?????????????$show = model("show"); //这个不用use任何东西// ?????????????$res = $show::get(6);//-------------------------------模型查询数据--------------------------------------------------// ?????????????查询单条数据// ?????????????$res = s::get(2);// ?????????????var_dump($res -> show_title);// ?????????????查询单条数据// ??????????????$res = s::get(function($query){// ??????????????????$query -> where(‘show_id‘,‘eq‘,‘5‘)// ?????????????????????????-> field(‘show_id‘);// ??????????????});// ?????????????查询单条数据// ??????????????$res = s::where(‘show_id‘,2)// ??????????????????->field(‘show_id‘)// ??????????????????->find();// ???????????查询多条数据// ????????????$where = array();// ????????????$where[‘show_id‘] = 2;// ????????????$res = s::all($where);// ???????????foreach($res as $k => $v)// ???????????{// ??????????????$v = $v -> toArray();// ???????????????var_dump($v);// ???????????}// ???????????查询多条数据// ???????????$res = s::all(function($query){// ???????????????//这里面添加条件即可,不用select和find// ???????????????$query -> where(‘show_id‘,‘<‘,5);// ???????????});// ???????????foreach($res as $k => $v)// ???????????{// ??????????????$v = $v -> toArray();// ???????????????var_dump($v);// ???????????} ???????????//查询多条数据// ??????????????$res = s::where(‘show_id‘,‘>‘,2)// ??????????????????->field(‘show_id‘)// ??????????????????->select();// ???????????foreach($res as $k => $v)// ???????????{// ??????????????$v = $v -> toArray();// ???????????????var_dump($v);// ???????????} ???????????//得到单条数据的字段// ???????????$res = s::where([‘show_id‘=>1])->value(‘show_title‘); ???????????//得到多条数据的字段 ?第二个参数是设置下标key// ???????????$res = s::column(‘show_content‘,"show_title");//-----------------------添加数据-------------------------- ???????????//方法一 ?添加单条数据// ???????????$where = array();// ???????????$where[‘show_title‘] = ‘我是谁‘;// ???????????$where[‘show_content‘] = ‘我在哪里‘;// ???????????$where[‘show_time‘] = 123456789;// ???????????$res = s::create($where,true);//true 将不是数据库的字段自动排除/如果是[‘show_title‘,‘show_content‘] 他只会添加这两个字段的数据 ???????????//方法二 添加单条数据// ???????????$show = new s;// ???????????$show -> show_title = ‘来‘;// ???????????$show -> show_content = ‘这‘;// ???????????$show -> show_time = 123;// ???????????$res = $show -> save(); ???????????//方法三 添加单条数据// ???????????$show = new s;// ???????????//allowField() 将不是数据库的字段自动排除/如果是[‘show_title‘,‘show_content‘] 他只会添加这两个字段的数据// ???????????$res = $show -> allowField(true) -> save($where); ???????????//添加多条数据 返回model对象 二维数组// ???????????$show = new s;// ???????????$res = $show -> saveAll([// ??????????????[‘show_title‘=>‘我哈哈‘],// ???????????????[‘show_title‘=>‘百事可乐‘]// ???????????]);// ???????????foreach($res as $k=>$v){// ????????????????var_dump($v ->toArray());// ???????????}//------------------------更新数据------------------------------------------ ???????????//只是更新一些简单的数据才这样,因为更新两次的返回值都一样,所以无法判断是否更新 ???????????// 只要存在主键,就不必写条件// ???????????$res = s::update([// ???????????????‘show_id‘ => ‘20‘,// ???????????????‘show_title‘ => ‘6666‘,// ???????????????‘show_content‘ => ‘77777‘,// ???????????????‘show_time‘ => ‘8888‘// ???????????]);// ???????????$res = s::update([// ???????????????‘show_title‘ => ‘6666‘,// ???????????????‘show_content‘ => ‘77777‘,// ???????????????‘show_time‘ => ‘8888‘// ???????????],[‘show_id‘=>5]);// ???????????$res = s::update([// ???????????????‘show_title‘ => ‘6666‘,// ???????????????‘show_content‘ => ‘77777‘,// ???????????????‘show_time‘ => ‘8888‘// ???????????],function($query){// ???????????????$query -> where(‘show_id‘,‘<‘,5);// ???????????}); ???????????//更新二 更新了就会返回影响的行数,否则就返回0// ???????????$res = s::where(‘show_id‘,‘eq‘,5)// ???????????????-> update([// ???????????????????‘show_title‘ => ‘我是方法二‘// ???????????????]); ???????????//更新三 更新了就会返回影响的行数,否则就返回0// ???????????$model = s::get(1);//获取数据模型// ???????????$model -> show_title = ‘123‘;//更改数值// ???????????$res = $model -> save();//自动更新 ???????????//更新四 第二个参数是用于选择的// ???????????$show = new s;// ???????????$res = $show -> save([// ??????????????"show_title" => ‘你妹的‘// ???????????],[// ???????????????????‘show_id‘ => 1// ???????????????]// ???????????????); ???????????//更新五 第二个参数是用于选择的// ???????????$show = new s;// ???????????$res = $show -> save([// ??????????????"show_title" => ‘你妹的‘// ???????????],function($query){// ???????????????$query -> where(‘show_id‘,‘<‘,3);// ???????????}// ???????????????);//----------------------------删除数据---------------------------------------- ???????????//方法一// ???????????$res = s::destroy(1);// ???????????方法二// ???????????$res = s::destroy([‘show_id‘=> 2]); ???????????//方法三 批量删除// ???????????$res = s::destroy(function($query){// ???????????????$query -> where("show_id",‘>‘,5);// ???????????});// ???????????方法四// ???????????$model = s::get(5);// ???????????$res = $model -> delete(); ???????????//方法五 ???????????$res = s::where(‘show_id‘,5)->delete();// ??????????????$res = $res -> toArray(); ???????????????var_dump($res);

thinkphp5.0 模型的应用

原文地址:http://www.cnblogs.com/laijinquan/p/8046943.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved