首頁 >php框架 >ThinkPHP >thinkphp5 model方法怎麼用

thinkphp5 model方法怎麼用

藏色散人
藏色散人原創
2022-12-08 10:20:281937瀏覽

thinkphp5 model的使用方法:1、透過「User::all(function($query){...}」查詢多筆記錄;2、使用「User::select(function($query ){...}」查詢;3、透過find()方法和get()方法查詢;4、使用column()方法查詢資料。

thinkphp5 model方法怎麼用

本教學操作環境:Windows7系統、ThinkPHP5版、Dell G3電腦。

thinkphp5 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()方式只能使用闭包形式。

 三、查詢一個欄位

使用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);

推薦學習:《

thinkPHP影片教學

以上是thinkphp5 model方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn