创建Action类

 
[php]  
<?php  
class NewObjectAction extends Action{  
    public function index(){  
        //1.创建一个基础模型  
//      //一:实例化一个系统的数据库操作类  
//      //new Model('User')相当于M('User'),在Model中放置一个需要操作的表  
//      //1命名:  
//      //  thinkphp默认的有表名前缀,如果为think_user;则在Model中可以使用User或者user来获取  
//      //  如果是think_user_message;则使用Model('UserMessage');大写表示对于的表名前面加上一个_  
//      $User=new Model('User');  
//      //调用查询方法  
//      $list=$User->select();  
//      dump($list);  
          
//      //二:跨模型操作;实例化一个表,同时实例化一个自己写的数据库操作类  
        //多用于将一些公共的业务逻辑抽离出来形成公共的Model  
//      //M('user','CommonModel')相当于new CommonModel('user');model是自动载入的  
////        $user=M('user','CommonModel');  
//      $user=new CommonModel('user');  
//      $list=$user->select();  
//      dump($list);  
//      $user->modelTest();  
          
        //三:实例化一个用户定义的模型  
        //多用于不需要更加复杂的业务  
        //1.手动创建一个模型,针对user表创建一个自定义模型,可以封装thinkphp提供的功能  
        //$user=new UserModel()相当于D('user');  
        //D方法如果模型不存在,则抛出异常,只会实例一个,默认,只支持调用当前应用下面的模型  
//      $user=new UserModel();  
//      $list=$user->select();  
//      dump($list);  
//      $user->modelTest();  
          
        //四、实例化一个空模型;就是传统sql语句的方式;需要加表前缀  
        //  
        $user=new Model();  
        $list=$user->query('select * from tb_user');  
        dump($list);  
          
        //分组:D('admin.user');  
    }  
}  
?>  
 
两个模型:
[php]  
<?php  
    class CommonModel extends Model{  
        function modelTest(){  
            echo '测试的跨模型操作,调用模型中的方法';  
        }  
    }  
?>  
 
[php]  
<?php  
    class UserModel extends Model{  
          
          
        function modelTest(){  
            echo '测试的跨模型操作,调用模型中的方法';  
        }  
    }  
?>  

ThinkPHP学习笔记 实例化模型的四种方法的更多相关文章

  1. Spring Ioc源码分析系列--容器实例化Bean的四种方法

    Spring Ioc源码分析系列--实例化Bean的几种方法 前言 前面的文章Spring Ioc源码分析系列--Bean实例化过程(二)在讲解到bean真正通过那些方式实例化出来的时候,并没有继续分 ...

  2. Android学习笔记(八)——四种基本布局

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,或是嵌套子布局,从而编写出精美的界 ...

  3. Android学习笔记_50_(转 四种加载方式详解(standard singleTop singleTask singleInstance)

    Android之四种加载方式 (http://marshal.easymorse.com/archives/2950 图片) 在多Activity开发中,有可能是自己应用之间的Activity跳转,或 ...

  4. C#学习笔记(12)——三种方法操作XML

    说明(2017-7-11 16:56:13): 原文地址: C#中常用的几种读取XML文件的方法 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web. ...

  5. JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)

    JavaScript继承的6种方法 1,原型链继承 2,借用构造函数继承 3,组合继承(原型+借用构造) 4,原型式继承 5,寄生式继承 6,寄生组合式继承 1.原型链继承. <script t ...

  6. Java四种引用--《深入理解Java虚拟机》学习笔记及个人理解(四)

    Java四种引用--<深入理解Java虚拟机>学习笔记及个人理解(四) 书上P65. StrongReference(强引用) 类似Object obj = new Object() 这类 ...

  7. PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.

    这几天在做抓取.发现用PHP的file_get_contents函数来获取远程文件的过程中总是出现失败,并且效率很低下.所以就做了个测试的demo来测试下PHP中各种方法获取文件的速度. 程序里面使用 ...

  8. ThinkPHP中连接mysql数据库的四种实用和通用的连接方法

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理.目前的数 ...

  9. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

随机推荐

  1. symbol(s) not found for architecture x86_64

    项目报错如下: ld: warning: ignoring file /xxxx/xxxx/ZBarSDK/libzbar.a ld: symbol(s) not found for architec ...

  2. 干掉拖延症!写给新人的GTD方法

    部门周会上有一个环节是每个同学讲述本周之最:最认可自己的.最反思的.最困惑的.其中,最认可自己,代表自己阶段性的成就感,在从外界取得成就感之前,首先自己要认可自己.最反思,要注意,不能只反不思,要记录 ...

  3. Sharepoint 2013 系列篇(安装部署)--上篇

    前言 sharepoint的部署是按照物理拓扑图的架构来部署,按照物理拓扑图架构分为一层拓扑图架构,二层拓扑图架构,三层拓扑图架构,多层拓扑图架构. 按照分层的拓扑图部署是按照需求来划分的,一层拓扑图 ...

  4. JS测试浏览器类型的代码

    function getOs(url,title) { var OsObject = ""; if(navigator.userAgent.indexOf("MSIE&q ...

  5. 微软推出的免费新书《Introducing Microsoft SQL Server 2012》

    微软推出的免费新书<Introducing Microsoft SQL Server 2012>,该书详细介绍微软SQL 2012数据库服务最新功能以及功能应用和使用技巧. 该书适合SQL ...

  6. 【转载】Asp.net Mvc 入门视频教程

    专辑: http://www.youku.com/playlist_show/id_2416830.html 订阅: http://www.youku.com/playlist/rss/id/2416 ...

  7. Fragment 总结

    本博客代码地址 : -- 单一 Fragment 示例 : https://github.com/han1202012/Octopus-Fragement.git -- 可复用的 Fragment 示 ...

  8. CSS之自适应布局webkit-box

    自适应布局webkit-box,在平常的web横排布局中,会经常用到float或display:inline-block,但是在多种不同宽度的移动设备的自适应布局中用的话,还得设置百分比宽度和考虑清除 ...

  9. Java之经典Student问题2

    创建5个学生对象给一个学生数组赋值,每个学生属性有:学号.姓名.年龄. 要求:1.给每个学生排序输出.  2.给所有学生年龄加1.  3.统计年龄大于20的学生人数. 在这里,我们用了compareT ...

  10. Zend studio 12.5.1安装aptana

    aptana是zend studio的一个插件.解决zend对于前台html支持,加亮的问题. 安装方法其实很简单 ,直接给出aptana的地址了. http://download.aptana.co ...