Thinkphp5.0 的使用模型Model查询

Thinkphp5.0 的使用模型Model查询


一、查询多条记录

获取多个数据可以使用:select()方法和all()方法。

示例一:使用all()方法。

        //(1)筛选条件使用闭包函数
        $res = User::all(function($query){
            $query->where('id','>',0)->field('id,name,email');
        });
        foreach($res as $val){
            dump($val->toArray());
        }

        //(2)筛选条件使用where()方法
        $res = User::where('id','>',0)->field('id,name,email')->all();
        //致命错误: Call to undefined method app\index\controller\User::all()        

示例二:使用select()方法。

        //(1)筛选条件使用where()
        $res = User::where('id','>',0)->field('id,name,email')->select();
        foreach($res as $val){
            dump($val->toArray());
        }

        //(2)筛选条件使用闭包函数
        $res = User::select(function($query){
            $query->where('id','>',0)->field('id,name,email');
        });
        foreach($res as $val){
            dump($val->toArray());
        }            

1、注意结果格式:
外层是数组,里层包含多个查询出来的对象
不能直接使用toArray(),需要遍历

2、使用all()方法时,不能使用where等方法。


二、查询一条记录

获取多个数据可以使用:find()方法和get()方法。

示例一:使用find()方法。

        //(1)筛选条件使用闭包函数
        $res = User::find(function($query){
            $query->where('name','=','zhang san');
        });
        dump($res->toArray());

        //(2)筛选条件使用where
        $res = User::where('name','=','zhang san')->find();
        dump($res->toArray());    

示例二:使用get()方法。

        //(1)筛选条件使用闭包函数
        $res = User::get(function($query){
            $query->where('name','=','zhang san');
        });
        dump($res->toArray());

        //(2)错误方式:筛选条件使用where()方法,
        $res = User::where('name','=','zhang san')->get();
        dump($res->toArray());
        //报错:method not exist:think\db\Query->get
        //get()方式只能使用闭包形式。

猜你喜欢

转载自www.cnblogs.com/gyfluck/p/9429439.html