zoukankan      html  css  js  c++  java
  • 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 appindexcontrollerUser::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:thinkdbQuery->get
            //get()方式只能使用闭包形式。

     三、查询一个字段

    使用value()方法

    $email = User::where('name','=','zhang san')->value('email');
    dump($email);

    四、查询列数据

    使用column()方法:

            //获取name字段这一列
            $res = User::where('id','>',0)->column('name');
            dump($res);
    
            //获取name字段这一列,并且以id字段作为索引
            $res = User::where('id','>',0)->column('id,name');
            dump($res);
    
            //获取name字段这一列,并且以id字段作为索引
            $res = User::where('id','>',0)->column('name','id');
            dump($res);
    
            //获取id,name,email字段这三列,并且以id字段作为索引
            $res = User::where('id','>',0)->column('name,email','id');
            dump($res);    

     

  • 相关阅读:
    操作标签(转载)
    创建标签(转载)
    标签管理(转载)
    mysql第四篇--SQL逻辑查询语句执行顺序
    mysql第四篇:数据操作
    mysql第四篇:数据操作之单表查询
    mysql第三篇:表操作
    MySQL系列
    Mysql 第二篇:库操作
    Mysql 第一篇:初识数据库
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9429439.html
Copyright © 2011-2022 走看看