thinkPHP5模型基本使用

本文介绍了thinkPHP5中模型的使用,包括模型的意义、命名规范、引入方式、查询数据、添加数据、更新数据和删除数据的方法,以及常见的聚合操作。通过模型可以简化数据库操作,提高代码可读性和复用性。
摘要由CSDN通过智能技术生成

1、意义

模型的创建是为了简化控制器中对数据库操作的代码,如某个具体的业务要操作多张表,可把对表的操作封装到模型的一个方法中,在用到的地方均可调用。

2、命名规范

tp5中模型的命名规范,表名除去前缀后驼峰法转换,如tp_bill_info的模型名为BillInfo。

3、引入

模型在控制器中的引入方式有三种,

方式一:在控制器的开始部分use进来(推荐使用)

namespace app\index\controller;
use think\Controller;
use app\index\model\User;#引入User模型
class Index extends Controller{
    public function index(){
        //模型的使用,直接使用
        $res = User::get(4);

        //new后使用
        $userDB = new User;
        $res = $userDB::get(4);

        $res = $res->toArray();
        dump($res);
    }
}

方式二:使用Loader类加载模型

namespace app\index\controller;
use think\Controller;
use think\Loader;#引入loader类
class Index extends Controller{
    public function index(){
        $userDB = Loader::model('User');#使用loader类加载模型
        $res = $userDB::get(4);
        $res = $res->toArray();
        dump($res);
    }
}

方式三:使用助手函数model(不推荐使用,以防助手函数被覆盖掉)

namespace app\index\controller;
use think\Controller;
class Index extends Controller{
    public function index(){
        //使用助手函数加载模型
        $userDB = model('User');
        $res = $userDB::get(3);
        $res = $res->toArray();
        dump($res);
    }
}

4、使用模型查询数据

(1)get方法,传递主键查询

namespace app\index\controller;
use think\Controller;
use app\index\model\User;

class Index extends Controller{
    public function index(){
        //给get方法传递主键
        $res = User::get(1);#返回对象
        //打印出对象中的某个属性(字段)值
        dump($res->username);
        //把对象转换成数组
        $res = $res->toArray();
        dump($res);
    }
}

(2)get方法,传递闭包函数(构造查询语句)

namespace app\index\controller;
use think\Controller;
use app\index\model\User;
class User extends Controller{
    public function index(){
        //get方法,传递闭包函数(构造查询语句的除链表操作)
        $res = User::get(function($query){
            $query->where('username','eq','dobby5')->field('id,email,age');
        });
        $res = $res->toArray();
        dump($res);
    }
}

注:get方法返回的都是一条记录。

(3)where结合find查询

namespace app\index\controller;
use think\Controller;
use app\index\model\User;

class I
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值