首页 后端开发 php教程 ThinkPHP实例化模型的四种方法概述_php实例

ThinkPHP实例化模型的四种方法概述_php实例

May 16, 2016 pm 08:37 PM
thinkphp 实例化 方法 模型

本文讲述了ThinkPHP实例化模型的四种方法,对于ThinkPHP程序设计来说有非常重要的应用。具体如下:

1、创建一个基础模型:实例化一个系统自带的数据库操作类

   Test.Model.class.php页面代码如下:

  class TestModel extends Model{
   
  }

登录后复制

UserAction.class.php页面代码如下:

  function test(){
    $test=M('test');//表示实例化的是自带的Model类,并且传入test值表示操作的是test表
    //等同于$test=new TestModel();
    $test=$test->select();
    print_r($test);//输出test表中所有数据
  } 
登录后复制

2、实例化一个自定义模型

如果数据库操作比较复杂,就需要在自定义的Model类中添加一些自定义的数据库操作方法

UserModel.class.php页面代码如下:

  class UserModel extends Model{
    function pyj(){
      echo 'pengyanjie';
      //其它的一些数据库操作方法
    }
  }

登录后复制

UserAction.class.php页面代码如下:

  function user(){
    $user=D('User');//实例化自定义的数据库操作类
    //等同于$user=new UserModel();
    $user->pyj();//调用User模型中的pyj方法
  } 

登录后复制

或者,你需要实例化一个表,同时呢,实例化一个自己写的自定义的数据库操作类,代码如下:

  function love(){
    $love=M('test','UserModel');  
    //$love=new UserModel('test'); 
    $list=$love->select();
    dump($list);
    $love->pyj();
  } 
登录后复制

3、实例化一个用户模型

UserAction.class.php页面代码如下:

  function user(){
    $user=new UserModel();//等同于$user=D('User');
    $list=$user->select();
    dump($list);
    echo $user->aa();
  }

登录后复制

UserModel.class.php页面代码如下:

该类名user与表名user相对应,所以在UserAction中实例化这个模型的时候就不需要再额外的传表名了,代码如下:

  class UserModel extends Model{
    function aa(){
      echo 'pengyanjie';
    }
  }

登录后复制

这个第三种实例化模型方法与第二种的区别在于:在你的业务逻辑当中,通常情况下会有一些公共的业务逻辑,那你用第二种M('表名','模型名');如M('user','CommonModel')会更方便;

第三种实例化模型方法适于于针对所操作表的更加复杂的业务逻辑,但是它不需要使用到公共业务逻辑。(它的业务逻辑,针对用户表,它是唯一的,并且不需要在其它模型当中使用)。

4、实例化一个空模型,它并不知道你要实例化操作时用到的是哪张表。

  $user=new Model();//等价与$user=M();
  $list=$user->query('select * from think_user'); //使用传统的sql语句的方式,如果这样的话,就必须要加表前缀 
  dump($list);

登录后复制

附:$user=new UserModel();与$user=D('user');的区别:

(1)、D方法可以自动检测模型类,不存在时,它会抛出一个异常。同时对于已实例化过的模型,不会去重复实例化。默认的D方法,只能应用于当前项目下面的模型。

(2)、如果说,我这是前台应用,但是我想实例化后台项目的模型可以用D搞定。

$user=D('admin','user');//会去自动找admin分组下的user模型类
登录后复制

或者:

$user=D('admin.user');
登录后复制

 希望本文所述实例对大家ThinkPHP程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

微信删除的人如何找回(简单教程告诉你如何恢复被删除的联系人) 微信删除的人如何找回(简单教程告诉你如何恢复被删除的联系人) May 01, 2024 pm 12:01 PM

而后悔莫及、人们常常会因为一些原因不小心将某些联系人删除、微信作为一款广泛使用的社交软件。帮助用户解决这一问题,本文将介绍如何通过简单的方法找回被删除的联系人。1.了解微信联系人删除机制这为我们找回被删除的联系人提供了可能性、微信中的联系人删除机制是将其从通讯录中移除,但并未完全删除。2.使用微信内置“通讯录恢复”功能微信提供了“通讯录恢复”节省时间和精力,用户可以通过该功能快速找回之前被删除的联系人,功能。3.进入微信设置页面点击右下角,打开微信应用“我”再点击右上角设置图标、进入设置页面,,

全球最强开源 MoE 模型来了,中文能力比肩 GPT-4,价格仅为 GPT-4-Turbo 的近百分之一 全球最强开源 MoE 模型来了,中文能力比肩 GPT-4,价格仅为 GPT-4-Turbo 的近百分之一 May 07, 2024 pm 04:13 PM

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

替代MLP的KAN,被开源项目扩展到卷积了 替代MLP的KAN,被开源项目扩展到卷积了 Jun 01, 2024 pm 10:03 PM

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

你好,电动Atlas!波士顿动力机器人复活,180度诡异动作吓坏马斯克 你好,电动Atlas!波士顿动力机器人复活,180度诡异动作吓坏马斯克 Apr 18, 2024 pm 07:58 PM

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

手机版龙蛋孵化方法大揭秘(一步一步教你如何成功孵化手机版龙蛋) 手机版龙蛋孵化方法大揭秘(一步一步教你如何成功孵化手机版龙蛋) May 04, 2024 pm 06:01 PM

手机游戏成为了人们生活中不可或缺的一部分,随着科技的发展。它以其可爱的龙蛋形象和有趣的孵化过程吸引了众多玩家的关注,而其中一款备受瞩目的游戏就是手机版龙蛋。帮助玩家们在游戏中更好地培养和成长自己的小龙,本文将向大家介绍手机版龙蛋的孵化方法。1.选择合适的龙蛋种类玩家需要仔细选择自己喜欢并且适合自己的龙蛋种类,根据游戏中提供的不同种类的龙蛋属性和能力。2.提升孵化机的等级玩家需要通过完成任务和收集道具来提升孵化机的等级,孵化机的等级决定了孵化速度和孵化成功率。3.收集孵化所需的资源玩家需要在游戏中

手机字体大小设置方法(轻松调整手机字体大小) 手机字体大小设置方法(轻松调整手机字体大小) May 07, 2024 pm 03:34 PM

字体大小的设置成为了一项重要的个性化需求,随着手机成为人们日常生活的重要工具。以满足不同用户的需求、本文将介绍如何通过简单的操作,提升手机使用体验,调整手机字体大小。为什么需要调整手机字体大小-调整字体大小可以使文字更清晰易读-适合不同年龄段用户的阅读需求-方便视力不佳的用户使用手机系统自带字体大小设置功能-如何进入系统设置界面-在设置界面中找到并进入"显示"选项-找到"字体大小"选项并进行调整第三方应用调整字体大小-下载并安装支持字体大小调整的应用程序-打开应用程序并进入相关设置界面-根据个人

特斯拉机器人进厂打工,马斯克:手的自由度今年将达到22个! 特斯拉机器人进厂打工,马斯克:手的自由度今年将达到22个! May 06, 2024 pm 04:13 PM

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

FisheyeDetNet:首个基于鱼眼相机的目标检测算法 FisheyeDetNet:首个基于鱼眼相机的目标检测算法 Apr 26, 2024 am 11:37 AM

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP

See all articles