thinkphp5.0 模型的应用

Posted 1O(∩_∩)O1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5.0 模型的应用相关的知识,希望对你有一定的参考价值。

 

 

            $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 模型的应用的主要内容,如果未能解决你的问题,请参考以下文章

thinkPHP5.0的学习研究架构

thinkphp5.0目录结构

thinkphp5.0目录结构

ThinkPHP5.0目录结构

thinkphp5.0 架构

ThinkPHP5.0 模型调用