1 在MainController.class.php 控制器中有一个test的方法,同时还有一个deng的方法,我想在test方法中使用deng方法 

表示为

<?php
namespace Home\Controller;
use Think\Controller;
class MainController extends controller
{
public function test()
{
$this->deng();
}

 2 在MainController.class.php 控制器中有一个test的方法,在同一个模板下还有一个名为IndexController.class.php的控制器,其中有一个index方法,我想在test方法中使用index方法 表示为:

<?php
namespace Home\Controller;
use Think\Controller;
class MainController extends controller
{
public function test()
{ //跨控制器调用方法
$index=new IndexController();
$index->index();
$index=A("Index");
$index->index();
R("Index/index");
}

上述是三种不同的调用方法

 3 在Home文件夹下的MainController.class.php 控制器中有一个test的方法,在不同的模板Admin文件夹下还有一个名为TextController.class.php的控制器,其中有一个aa方法,我想在test方法中使用aa方法 表示为:

<?php
namespace Home\Controller;
use Think\Controller;
class MainController extends controller
{
public function test()
{
//跨模块调用方法
$index=new \Admin\Controller\TextController();
$index->aa();
$index=A("Admin/Text");
$index->aa();
R("Admin/Text/aa");
}

4 使用模型来操作数据库,用D调出来的是子类对象,如果用M(“nation”)调出来的是父类对象; 用select() 调出来的是所有对象,是一个二维数组,如果用find()调出来的是一条数据,比如 find("n001")

$nation=D("nation");
$arr=$nation->select();
var_dump($arr);

5 用where查询语句 where(条件)

 $nation=D("nation");
$arr=$nation->where("code='n005' or code='n003'")->select();
var_dump($arr)

查出来的是两条数据

6 TABLE()可以用来切换数据表  我选用的是数据库club中的表格cname来切换

$nation=D("nation");
$arr=$nation->table("cname")->select();
var_dump("$arr");

7 field(指定的数据库的某一个字段),查询出来的只有这个字段的数据

$nation=D("nation");
$arr=$nation->field("code")->select();
var_dump($arr);

8 order() 是指把查询的内容按照顺序排列

 $nation=D("nation");
$arr=$nation->order("code desc")->select();
var_dump($arr);

9 limit() 分页查询  如果()内只有一个值,那么意味着显示多少条数据, 如果有两个值(,)那么意味着跳过多少条显示多少条

$nation=D("nation");
$arr=$nation->limit(6)->select();
var_dump($arr);

如果用的是page()分页查询 会更人性化 page(,)括号里面有两个值,第一个值表示第几页,第二个值表示每页显示多少条

10 分组 group() 比如我要查car表中 按照brand分组 每一组有多少条数据

$nation=D("nation");
$arr=$nation->field("brand,count(*)")->table("car")->group("brand")->select();
var_dump($arr);

11 join  使两个表联系起来

$login=D("login");
$arr=$login->field("login.uid,login.pwd,cname.name")->join("cname on cname.code=login.code")->select();
var_dump($arr);

如图所示

在登录的时候我们都会存一个session值 那么为了方便,我们建一个名为BaseController.class.php的控制器

usename Home\Controller;
use Think\Controller;
class BaseConroller extends Controller
{
function __construct()
{
parent::__construct(); //在Controller控制器中也有构造函数,为了防止被覆盖,我们先调用一下
if(!session("?uid"))
{
$this->redirect("Text/test"); //如果没有存session 那么就返回登录页面
exit;
}
}
}

ThinkPHP 框架模型的更多相关文章

  1. ThinkPHP框架模型连贯操作(八)

    原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...

  2. 关于thinkphp框架中模型笔记

    模型这一块,感觉学习的不是很清楚,单独水一贴thinkphp中模型的学习笔记. 0x01 模型类简介 数据库中每一张表对应一个模型,类名就是表名,类里面的成员变量就是列名, 把一张表对应为一个类,其中 ...

  3. 攻城记:Thinkphp框架的项目规划总结和踩坑经验

    一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...

  4. ThinkPHP框架概述

    框架概述 1.什么是框架 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统. 2.框架的应用场景 ① 代码重用 ② 合理分工 ③ 解决团队协作开发问题 3. ...

  5. 使用ThinkPHP框架高速开发站点(多图)

    使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ...

  6. thinkphp框架使用心得

    接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...

  7. ThinkPHP框架一

    1.1 框架的概念 框架其实就是可重用代码的集合,框架的代码是框架架构的代码,不是业务逻辑代码,框架代码保护类.方法.函数等等,框架代码按照一定的规则组合起来就形成了框架. 1.2 不使用框架开发的时 ...

  8. 浅析Thinkphp框架中运用phprpc扩展模式

    浅析Thinkphp框架中应用phprpc扩展模式 这次的项目舍弃了原来使用Axis2做web服务端的 方案,改用phprpc实现,其一是服务端的thinkphp已集成有该模式接口,其二是phprpc ...

  9. ThinkPHP 的模型使用详细介绍--模型的核心(七)

    原文:ThinkPHP 的模型使用详细介绍--模型的核心(七) 注意:本节是ThinkPhp框架对数据操作的核心处理部分 大家还是在这里看清楚可以将其剪切放到代码编辑器中查看 本章节给大家着重介绍模型 ...

随机推荐

  1. Sublime Text 3常用插件安装(持续更新)

    首先声明一下,小编是做后台开发出身,但是总是想捣鼓一些小的网站出来,可能是完美心作祟,感觉前端这边不能差事,所以就自己上了,一开始是用eclipse来开发的,具体原因忘了,也不知道怎么就开始用Subl ...

  2. freemodbus移植讲解 ZZ

    一   为什么要移植Freemodbus 为什么要移植Freemodbus,这个问题需要从两个方面来回答.第一,modbus是一个非常好的应用层协议,它很简洁也相对完善.对于还没有接触过modbus的 ...

  3. iOS全角符与半角符之间的转换

    iOS全角符与半角符之间的转换 相关资料: 函数『CFString​Transform』中文 详情: 问题 1.17-03-15,「有人在群里边问怎么把『半角』符字符串转换成『全角』字符串?」,百度的 ...

  4. 英文单词断行问题:CSS中word-break、word-wrap以及hyphens的兼容性和区别

    CSS中一提到单词断行,最先映入脑海的肯定是word-break和word-wrap这两条属性.但对于这两条属性到底有什么区别,兼容性如何,我一直都概念模糊.今天抽空把它们以及CSS3中新加入的断行属 ...

  5. 通过 dhcp-agent 访问 Metadata - 每天5分钟玩转 OpenStack(168)

    OpenStack 默认通过 l3-agent 创建和管理 neutron-ns-metadata-proxy,进而与 nova-metadata-api 通信.但不是所有环境都有 l3-agent, ...

  6. 日期控件My97DatePicker的使用

    一. 简介 1. 简介 目前的版本是:4.8 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.h ...

  7. JSR330: DI

    JSR330 DI JSR 330 ,提供了一种可重用的.可维护.可测试的方式来获取Java对象.也称为Dependency Injection . DI应该都不陌生,因为它就是Spring core ...

  8. Xmpp实现简单聊天系列 --- ①openfire部署

    1. 下载最新的openfire安装文件 官方下载站点:http://www.igniterealtime.org/downloads/index.jsp#openfire 2. 下载完成后,执行你的 ...

  9. js随机模块颜色

    <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...

  10. get你想象不到的技能

    1.取消选取.防止复制 <body selectStart="return false"> </body> 2.不允许粘贴 <body onpaste ...