CURD,增删改查练习

Original 2019-05-21 14:21:02 210
abstract:<?phpnamespace app\index\controller;use think\db;class Query{      //   写操作返回的是一个受影响记录条数,如果没有执行成功返回0     //    读操作返回的是一个二维数组,如果没有查询到则返回空数组;    publ

<?php
namespace app\index\controller;

use think\db;

class Query
{
     //   写操作返回的是一个受影响记录条数,如果没有执行成功返回0
    //    读操作返回的是一个二维数组,如果没有查询到则返回空数组;
   public function find()
   {
       //查询单条记录,如果条件是主键则可以直接在 find输入 find(满足条件的第一条) 终极方法不建议传入参数
//        $res = Db::table('admin')->find(2);
       $res = Db::table('admin')
           ->field(['username','password']) //限制查询的字段
           ->where('id','=',2)  //where(字段,表达式,条件) 或者直接传入数组条件['id'=>2]
           ->find();

       dump($res);
   }
   //查询满足多个条件的记录 终极方法不建议传入参数
   public function select()
   {

       $res = Db::table('admin')
           ->field(['username'])
           ->where('id > 0')  //可以写成数组或者一个字符串等形式
           ->order('id DESC')  //排序方式 desc降序 默认esc升序
           ->select();

       dump($res);
   }


   public function insert()
   {
       //单条插入 insert 终极方法不建议传入参数

//        $data = [
//            'username'=>'xiaowang',
//            'password'=>123
//        ];
//        //返回受影响条数
//        $num = Db::table('admin')->insert($data);
//        //获取最后插入id
//        $id = Db::getLastInsID();

//        insertGetId() == insert() + getLastInsID();
//        $num = Db::table('admin')
//            ->data($data)  //data()方法将要处理的数据打包 在源码的$option[]
//            ->insert();
//        $id = Db::getLastInsID();
//        return $num?'添加成功'.'id ='.$id:'添加失败';

       //多条记录 insertAll 终极方法不建议传入参数

       $data = [
           ['password'=>123,'username'=>'小王'],
           ['password'=>123,'username'=>'小李'],
           ['password'=>123,'username'=>'小张'],
           ['password'=>123,'username'=>'小宋'],
       ];
       $num = Db::table('admin')
           ->data($data)
           ->insertAll();

       return $num?'添加多条记录成功':'添加多条记录失败';

   }
   //更新
   public function update()
   {
       //更新条件基于前置查询,不允许无条件更新
       //更新使用update() 终极方法不建议传入参数 Db::raw()获取原始数据
//        $num = Db::table('admin')
//            ->where('id < 10')
//            ->data(['password'=>Db::raw('password+1')])
//            ->update();
       //直接在update()里面添加条件
       $num = Db::table('admin')
           ->update(['id'=>10,'password'=>Db::raw('password+1')]);
       return $num?'更新'.$num.'条记录成功':'更新多条记录失败';
   }
   //删除
   public function delete()
   {
       //删除必须基于前置查询,不允许无条件删除
       //方法 delete()
       $num = Db::table('admin')
           ->delete(true);

       return $num?'删除'.$num.'条记录成功':'删除记录失败';
       //删除是一个极其危险操作。建议使用软删除进行操作,即使用更新来模拟删除
   }


}



Correcting teacher:查无此人Correction time:2019-05-22 09:21:56
Teacher's summary:完成的不错。php操作数据库,也是一大知识点。继续加油。

Release Notes

Popular Entries