数据库的查询构造器,自己理解整个构造器的查询语句实际都与原声的SQL语句区别不大

原创2018-12-26 17:40:4871
摘要:class Query { // 数据库读操作     public function find(){     //查询并返回单条记录     $res = Db:table('表名')  &n
class Query
{
// 数据库读操作
    public function find(){
    //查询并返回单条记录
    $res = Db:table('表名')
    ->field('查询字段,可以为数组形式')
    ->where('查询条件')->find();
    //查询并返回多条记录
    $res = Db::table('表名')
    ->field('查询字段')
    ->where('查询条件')
    ->order('等同与SQL语句中的order by方式有DESC/ASC')
    ->limit('限制查询返回结果条数')->select();
    }
    //增加记录
    public function insert()
       {//新增单条记录
       $data = [
               以数组的形式传入增加记录的字段名与值
               ];
        $num = Db::table('表名')->insert($data);
        //获取增加记录条数反馈
        $id = Db::getLastId();
        //新增多条记录
        $data = [
                [以二维数组的方式存放需要增加的多条记录]
                ];
                $num = Db::table('表名')->data($data)->insertAll();
        }
        //更新操作
        public function update()
        {//更新操作必须是基于前置查询,不允许无条件更新
        $num = Db::table('表名')->where('字段名','条件')
        ->data(['字段名'=>Db::raw('更新操作')])
        ->update();
        }
        //删除
        public function delete()
        {
        //删除同样必须基于前置查询,不允许无条件删除
        $num = Db::table('表名')->delete('条件');
        //删除多条记录与清空表格
        $num = Db::table('表名')->delete(['多条需删除的条件']);
        $num = Db::table('表名')->where(‘字段名’,'表达式',‘条件’)
        -delete();
        $num = Db::table('表名')->delete(true);
        }
}


批改老师:天蓬老师批改时间:2018-12-26 17:42:32
老师总结:这些链式操作只是简化了代码,让代码看上去更优雅罢了,并不能完全代替sq语句

发布手记

热门词条