建站知识

thinkphp中模型的定义和连贯操作

标签:   | 作者:DT范福州网站建设 | TIMES:2018-03-02
     thinkphp中基础模型类为Think/model类,该类完成了基本的CURD、ActiveRecord操作。
     一:模型定义:
     模型类不是必须定义的,只有当存在额外的逻辑或者属性时才需要定义,一般情况下,使用thinkphp提供的model类已经可以完成大部分的需求。
     thinkphp约定的模型命名规则是去除表前缀的数据表名称,使用首字母大写的驼峰命名法,然后加上model,例如:假设表前缀为:datang_
     数据表名称为“datang_user”,去除表前缀后为user,首字母大写并且驼峰命名后“User”,加上Model后“UserModel”,所以“datang_user”对应的模型名称为“UserModel”。
     注意:如果需要自定义模型,继承think/model模型即可。
    模型的实例化:
    根据不同的模型定义,实例化的方法也不同,大致有以下方法:new实例化,M函数实例化,D函数实例和空模型实例化。
    一:new实例化
    模型类本质也是php的类,所以可以直接new实例化。
    以:datang_user为例,可以使用以下代码实例化:
    $user=new model(“user”);
   mode类的构造方法有三个参数,去除表前缀的数据表名称,表前缀,连接配置。如果数据表没有表前缀,传入为null就行。
   二:M函数实例化
   M函数是thinkphp内置的快捷函数,该方法接收的参数与model类的构造方法相同,返回值为实例化后的模型对象。
   三:D函数实例化
   D函数是thinkphp内置的快捷函数,与M函数最大的区别在于D函数可以自动检测模型类,如果存在指定模型类,则实例化该模型类,否则实例化“think/model”类,而M函数只会实例化”think/model“类。
   四:空模型实例化:
   如果只需要执行sql,不需要其他操作的话,可以实例化一个空模型类。
说到thinkphp,不得不说他的”连贯操作“的功能,连贯操作可以有效地提高代码质量以及开发效率。比如要查询user模型中stsus为1的前10条记录,并且按照时间去排序,只需要如下代码即可。
  $user=M('user')
  $list=$user->where(‘status=1’)->order(‘create_time desc’)->limit(10)->select();
相关新闻
首页 | 网站制作 | 网站模板 | 定制设计 | 建站知识