ThinkPHP 框架模型
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 框架模型的更多相关文章
- ThinkPHP框架模型连贯操作(八)
原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...
- 关于thinkphp框架中模型笔记
模型这一块,感觉学习的不是很清楚,单独水一贴thinkphp中模型的学习笔记. 0x01 模型类简介 数据库中每一张表对应一个模型,类名就是表名,类里面的成员变量就是列名, 把一张表对应为一个类,其中 ...
- 攻城记:Thinkphp框架的项目规划总结和踩坑经验
一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...
- ThinkPHP框架概述
框架概述 1.什么是框架 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统. 2.框架的应用场景 ① 代码重用 ② 合理分工 ③ 解决团队协作开发问题 3. ...
- 使用ThinkPHP框架高速开发站点(多图)
使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ...
- thinkphp框架使用心得
接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...
- ThinkPHP框架一
1.1 框架的概念 框架其实就是可重用代码的集合,框架的代码是框架架构的代码,不是业务逻辑代码,框架代码保护类.方法.函数等等,框架代码按照一定的规则组合起来就形成了框架. 1.2 不使用框架开发的时 ...
- 浅析Thinkphp框架中运用phprpc扩展模式
浅析Thinkphp框架中应用phprpc扩展模式 这次的项目舍弃了原来使用Axis2做web服务端的 方案,改用phprpc实现,其一是服务端的thinkphp已集成有该模式接口,其二是phprpc ...
- ThinkPHP 的模型使用详细介绍--模型的核心(七)
原文:ThinkPHP 的模型使用详细介绍--模型的核心(七) 注意:本节是ThinkPhp框架对数据操作的核心处理部分 大家还是在这里看清楚可以将其剪切放到代码编辑器中查看 本章节给大家着重介绍模型 ...
随机推荐
- 【转】Django HTTP请求的处理流程
Django 和其他 Web 框架的 HTTP 处理的流程大致相同,Django 处理一个 Request 的过程是首先通过中间件,然后再通过默认的 URL 方式进行的.我们可以在 Middlewar ...
- 你可记得曾经的-------- C#面向对象的“基础”
1.C#中构造函数定义的理解: ①构造函数名与所在的类名相同 ②构造函数可以重载 ③构造函数可以带参数 ④构造函数没有返回值,且不允许写出void,可以有参也可以无参 ...
- 10分钟精通SharePoint - SharePoint定位
平台 – "一栋楼房的框架结构" 扩展 – "用户可以根据自己需要随意装修房间"集成 – "插拔式的系统集成能力"业务– "既是全 ...
- 构建微服务-使用OAuth 2.0保护API接口
微服务操作模型 基于Spring Cloud和Netflix OSS 构建微服务-Part 1 基于Spring Cloud和Netflix OSS构建微服务,Part 2 在本文中,我们将使用OAu ...
- C#传递委托给C或C++库报错__对XXX类型的已垃圾回收委托进行了回调
出现的原因: 因为你传给C或C++的委托是局部的.可能传过去之后就被垃圾回收了,再次调用就会异常. 想办法做成全局的就好 public void Play(string url) { _bassStr ...
- JavaScript原型模式-理解对象
一:简述 当初学编程一看到什么什么模式就比较头晕,不过本文我们通过简单的示例代码来说一下js 对象这个话题 ,来看下如何理解这个原型模式. 二:理解对象 1.简单对象 js对象中没有java.C#等类 ...
- java学习笔记 --- 异常
异常 (1)程序出现的不正常的情况. (2)异常的体系 Throwable |--Error 错误,严重问题,我们不处理. · |--Exception 异常 |--R ...
- scipy安装问题
刚开始使用pip安装的scipy,后来报了错误,具体意思是 numpy版本不支持. 在python.org.pypi 官网上的SciPy包是一个zip版本的,要使用与numpy相对应的后缀才行,也就 ...
- [python爬虫]爬取学校教务处成绩
学校教务处网站 登陆窗口 表单数据 观察登陆窗口和提交的表单数据可知只要将账号.密码.验证码正确赋值提交即可模拟登陆. 账号和密码都有,问题的关键就在验证码上. 右键验证码图片审查观察源码如下图: 刚 ...
- Oracle子查询中any、some、all之间的区别
用some,any和all对子查询中返回的多行结果进行处理. 下面我们来简单介一下这几个关键词的含义. * Some在此表示满足其中一个的意义,是用or串起来的比较从句. * Any也表示满足其中一个 ...