tp5 控制器不使用模型对数据库的操作

//获取数据的工作中常用的写法示例:

try{
            $User=Db::name('one');
            $data1=$User->order('id','desc')->where('username','张三')->find();
            $data2=$User->removeOption('order')->removeOption('where')->where('username','李四')->findOrFail();
            $data3=$User->removeOption('where')->select();

        }catch(DataNotFoundException $e){
            return $e->getMessage();
        }
        return json($data3);

插入数据的示例:

public function insert(){
        $data=[
            'username'=>'教父',
        ];
        $User=Db::name('one');
        try{
//            $Data= $User->insert($data);
//            $Data= $User->insert($data,true);//数据replace,有其他唯一索引的时候(不是指的id)
            $Data=$User->insertGetId($data);
        }catch (DataNotFoundException $e){
            return $e->getMessage();
        }
       return $Data;
    }
   public function insertAll()
    {
        $dataAll = [
            [
            'username' => '小李子'
        ],
        [
            'username' => 'jackMa'
        ]
        ];
        $User=Db::name('one');
        $User->insertAll($dataAll);
    }

更新数据的示例:
这里举个例子是将数据中的所有"小李子"找到并改为 ‘大李子’,‘小李子1’,‘小李子2’…直到所有

 public function update(){
        $User=Db::name('one');
//        $num=$User->where('username','交警')->order('id','desc')->count();
        $num=$User->where('username','小李子')->count();
        $arr=[];
        for($i=0;$i<$num ;$i++){
            if($i==0)
            array_push($arr,['username'=>'大李子']);
            else
            array_push($arr,['username'=>'小李子'.$i]);
        }
        $User->insertAll($arr,true);//多条插入,如果有唯一索引自动替代
        //删除原来的
        $User->delete();
    }

删除:

 public function delete(){
        $User=Db::name('one');
        $User->delete([13,14]);//按主键
    }
 

查找:

   public  function  search(){
        $User=Db::name('one');
//        $result=$User->where('username','like',['%李%','%教%'],'or')->where('id','<','10')->select();
//        $result=$User->whereTime('create_time','2020-1-17')->select();
//        $result=$User->whereTime('create_time','<','2020-1-17')->select();
//          $result=$User->whereBetween('create_time',['0000-00-00','2020-1-17'])->select();
//          $result=$User->whereBetweenTime('create_time','0000-00-00','2020-01-01')->select();
//          $result=$User->whereTime('create_time','y')->select();//查询今年
//          $result=$User->whereTime('create_time','d')->select();//查询今天
//          $result=$User->whereTime('create_time','w')->select();//查询本周
//          $result=$User->whereTime('create_time','-2 hour')->select();//查询2小时前
//          $result=$User->whereTime('create_time','-2 min')->select();//查询2分钟前
          $result=$User->whereBetweenTimeField('create_time','end_time')->select();//查询两个字段时间间隔的数据
        return json($result);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值