创建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. JAVA备忘录

    本文主要是记录一下JAVA: 1.Arrays.的几个用法: fill:数组全部置一个数 sort:排序 binarySearch:二分查找 2.Map的用法: Map<Integer,Inte ...

  2. 【JS Note】undefined与null

    在Javascript中有这两种原始类型: Undefined与Null.而这两种原始类型都各自只有一个值,分别是undefined,null. undefined: 1.变量声明后未赋值,则变量会被 ...

  3. photoSlider-原生js移动开发轮播图、相册滑动插件

    详细内容请点击 在线预览   立即下载 使用方法: 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css& ...

  4. Oracle 学习笔记3:新建数据库没有scott用户解决办法

    新建一个数据库,若选择Oracle组件时,没有选择实例方案,完成后进行口令管理,默认列表中是找不到scott用户解锁的.若要解锁scott用户,可以进行如下操作: 使用system或者sys连接数据库 ...

  5. 使用Bootstrap-Table 遇到的问题

    最近用bootstrap-Table插件,遇到的问题记录下: 1.如何按条件查询时,pageNumber重置为1? $('#btnSub').bind('click', function () { $ ...

  6. 图解win7中IIS7.0的安装及配置ASP环境

    控制面板中“程序”的位置 “程序”中“打开或关闭Windows功能”的位置 如图,安装IIS7时需要选择要使用的功能模块 IIS7安装完成之后可以在开始菜单的所有程序中看到“管理工具”,其中有一个“I ...

  7. iOS - 使用音乐的背景播放功能,使用MediaPlayer框架播放影片(Swift)

    1. 使用音乐的背景播放功能 (1) 导入音频播放框架 import AVFoundation (2) 创建音频播放对象 //初始化音频播放器对象,并将音频播放对象,作为视图控制器类的属相. var ...

  8. 20141111--SQL触发器

    ---------------------触发器----------------------------- --触发器本质上还是一个存储过程,trigger --只不过不是通过exec调用执行,而是通 ...

  9. struts2中访问servlet API

    Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等.Struts ...

  10. hover和mouseover,mouseout的区别

    说道hover和mouseover,mouseout的区别,不得不联系到mouseenter,mouseleave. mouseover,mouseout是指鼠标指针在穿过/离开被选元素或其子元素时触 ...