TP5.1实现CURD操作

原创 2019-04-21 09:49:57 335
摘要:<?php namespace app\index\controller; use think\Db; class Query {     /**      * 读操作返回的都是二维数组,没有满足条件的记录,返回的是一个空数组   &nbs
<?php
namespace app\index\controller;

use think\Db;

class Query
{
    /**
     * 读操作返回的都是二维数组,没有满足条件的记录,返回的是一个空数组
     * 写操作返回的是受影响的记录数,如果没有返回0
     */

    public function find()
    {
        // 查询单条记录
        $res = DB::table('users')
            //->field('name,phone')
            ->field(['name','phone'])
            //->field(['name'=>'姓名','phone'=>'电话'])
            ->where('uid','>=',3)// where(字段,表达式,条件)
            ->find();
        var_dump($res);
    }

    public function select()
    {
        // 查询满足条件的多条记录
        $res = DB::table('users')
            ->field(['name','phone'])
            //->where('uid > 2')
            ->where('uid','>',3)
            //->order('uid DESC')
            ->order('uid','DESC')
            ->limit(2)
            ->select();

        dump($res);
    }

    // 新增操作
    public function insert()
    {
        // 新增单条记录: insert()
        $data = [
            'name'=>'成龙',
            'phone'=>'13887655689',
            'country'=>'中国',
            'birthday'=>'1978-09-11',
            'weight'=>'66',
            'height'=>'189',
            'add_time'=>time(),
        ];

        /*$num = DB::table('users')->insert($data);
        $id  = DB::getLastInsID();
        return $num > 0 ? '添加成功,id='.$id : '没有记录被添加';*/

        // data($data) 将要处理的数据打包 $option[]
        // insertGetId() == insert() + getLastInsID();

        /*$num = DB::table('users')->insertGetId($data);
        //$id  = DB::getLastInsID();
        return $num > 0 ? '添加成功,id='.$num : '没有记录被添加';*/


        /*$num = DB::table('users')->data($data)->insert();
        $id  = DB::getLastInsID();
        return $num > 0 ? '添加成功,id='.$id : '没有记录被添加';*/


        // 新增多条记录:insertAll();
        $data = [
            ['name'=>'刘备',
                'phone'=>'13887655678',
                'country'=>'中国',
                'birthday'=>'1978-09-11',
                'weight'=>'66',
                'height'=>'189',
                'add_time'=>time(),],
            ['name'=>'张飞',
                'phone'=>'13887652289',
                'country'=>'中国',
                'birthday'=>'1978-09-11',
                'weight'=>'66',
                'height'=>'189',
                'add_time'=>time(),],
            ['name'=>'关羽',
                'phone'=>'13887666689',
                'country'=>'中国',
                'birthday'=>'1978-09-11',
                'weight'=>'66',
                'height'=>'189',
                'add_time'=>time(),]
        ];

        $num = DB::table('users')->data($data)->insertAll();
//        $id  = DB::getLastInsID();
        return $num ? '添加成功了'.$num.'条记录' : '没有记录被添加';

    }



    public function update()
    {
        // 更新操作必须是基于前置查询,不允许无条件更新
        // 更新update(),也是一个终极方法

        $num = Db::table('users')
            ->where('phone','>=',10)
            ->data(['weight'=>Db::raw('weight+2')])
            ->update();
        return $num ? '更新成功了'.$num.'条记录' : '没有记录被添加';
    }


    public function delete()
    {
        // 删除必须基于前置查询,不允许无条件删除
        $num = Db::table('users')->delete(11);
        
        $num = Db::table('users')
            ->where('uid','>',5)
            ->delete();

        // 清空表
        //Db::table('users')->delete(true);

        return $num ? '删除成功了'.$num.'条记录' : '没有记录被添加';
    }
}


批改老师:天蓬老师批改时间:2019-04-22 10:07:20
老师总结:curd操作, 记住这几点就行... 1. 操作分为读与写二种, select/show...是读操作, insert/update/delete是写 2. insert是不需要基于条件查询的, 而update/delete必须是基于条件查询的... 3.以上操作只有insert可以创建新记录...

发布手记

热门词条