0731am视图 模型
跨控制器调用方法
function DiaoYong()
{
造对象
$sc = new \Home\Controller\GoodsController();
echo $sc->aa(); 如果在同一个文件夹下,相对路径
$sc=new GoodsController();
echo $sc->aa(); 快捷方法A创建控制器对象;一般特指控制器
$sc=A("Goods");
echo $sc->aa(); 同一个Home模块下,跨模块,加上一个模块名
$sc=A("Goods\aa");
echo $sc->aa(); R方法,自动调用某个控制器里面的某一个方法;
不仅早出对象,还能调用里面方法
echo R("Goods/aa");
}
造model模型对象--操作数据库的方法
function DB()
{
1.原始方法
$m=new \Home\Model\InfoModel();
var_dump($m); 2.使用快捷方法D,必须指定操作哪一张表,算是new的简化版
$m=D(Info);
var_dump($m); 3.快捷方法M(),可以访问数据库
$m = M("nation");
var_dump($m);
}
function DB()
{
指定操作哪一张表
$m=D(info);
查询数据表中的所有内容
$attr=$m->select();
只能写主键值,根据主键值找一条数据,返回一维数组
$attr= $m ->find("p001"); 返回二维数组,
$attr=$m->select("p001,p003"); where给查询添加条件
$attr=$m->where("code='p001' or sex=true")->select();
var_dump($attr); table 切换操作的表
$m=D(info);
$attr=$m->table("nation")->select();
var_dump($attr); alias 给当前差的表定义一个别的名称,用处不大
$m=D(info);
$attr=$m->alias("nation")->select();
var_dump($attr); field单独查询列
$m=D(info);
$attr=$m->field("nation")->select();
var_dump($attr); order 排序
$m=D(info);
$attr=$m->order("nation desc")->select();
var_dump($attr); group 分组
$m=D(info);
$attr=$m->field("nation")->group("nation")->select();
var_dump($attr); having 可以加分组后的条件
$m=D(info);
$attr=$m->field("nation")->group("nation")->having("count(*)>0")->select(); join 链接两张表,在field里面要给字段加别名
$m=D(info);
$attr=$m->field("info.code as 代号,info.name as 姓名,sex as 性别,nation.name as 名族名称")->join("nation on info.nation=nation.code")->select();
//查询两张表中的name列拼接到一起,联合查询
$m=D(info);
$attr=$m->field("name")->union("select name from nation")->select();
var_dump($attr); //去重,参数是一个bool型
$m=D(info);
$attr=$m->field("nation")->distinct(true)->select();
var_dump($attr); //limit,参数(跳过几条,取几条)
//page(当前第几页,每一页显示几条),直接去当前页数
$m=D(nation);
$attr=$m->limit(2,3)->select();
$attr1=$m->page(2,3)->select();
var_dump($attr1); //取数据总条数
$m=D(car);
$attr=$m->count("*");
//取某一列的和
$attr1=$m->sum("price");
//平均值
$attr2=$m->avg("price");
//最大最小值
$attr3=$m->min("price");
$attr4=$m->max("price");
var_dump($attr4);
}
0731am视图 模型的更多相关文章
- 当类型为dynamic的视图模型遭遇匿名对象
当年在ASP.NET MVC 1.0时代我提到,在开发时最好将视图的Model定制为强类型的,这样可以充分利用静态检查功能进行排错.不过有人指出,这么做虽然易于静态检查,但是定义强类型的Model类型 ...
- [转]架构蓝图--软件架构 "4+1" 视图模型
架构蓝图--软件架构 "4+1" 视图模型 本文基于多个并发视图的使用情况来说明描述软件密集型系统架构的模型.使用多重视图允许独立地处理各"风险承担人":最终用 ...
- KnockoutJS 3.X API 第二章 数据监控(1)视图模型与监控
数据监控 KO的三个内置核心功能: 监控(Observable)和依赖性跟踪(dependency tracking) 声明绑定(Declarative bindings) 模板(Templating ...
- thinkphp 3.2 视图模型 实例 视图查询结果 二维数组 合并
使用视图模型查询的时候 结果是这样的 array(6) { [0] => array(5) { ["picTitle"] => string(7) "标题2& ...
- ThinkPHP 3.2.3 视图模型的使用
ThinkPHP 3.2.3 试图模型的手册地址是:http://www.kancloud.cn/manual/thinkphp/1781 实例 需求:在博客列表页读取博客的(id.标题.摘要.发布时 ...
- DDD:谈谈数据模型、领域模型、视图模型和命令模型
背景 一个类型可以充当多个角色,这个角色可以是显式的(实现了某个接口或基类),也可以是隐式的(承担的具体职责和上下文决定),本文就讨论四个角色:数据模型.领域模型.视图模型和命令模型. 四个角色 数据 ...
- ThinkPHP中视图模型详解.
很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解! 先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相 ...
- thinkphp 视图模型使用分析
<?php /** * 视图模型 * */ class ViewBatchModel extends ViewModel{ public $viewFields = array( 'Jinxia ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第三章:搜索、高级过滤和视图模型
在这一章中,我们首先添加一个搜索产品的模块以增强站点的功能,然后使用视图模型而不是ViewBag向视图传递复杂数据. 注意:如果你想按照本章的代码编写示例,你必须完成第二章或者直接从www.apres ...
随机推荐
- webform 创建树
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- HTC Vive开发笔记之UI Guideline
本文转自HTC官方论坛,原址https://www.htcvive.com/cn/forum/chat.php?mod=viewthread&tid=1641&extra=page=1 ...
- java readLine()
原文 虽然写IO方面的程序不多,但BufferedReader/BufferedInputStream倒是用过好几次的,原因是: 它有一个很特别的方法:readLine(),使用起来特别方便,每次读回 ...
- MyEclipse中查询
在当前文件中查询: Ctrl + F 在整个项目中查询: Ctrl + H(选File Search)
- 【转载】Securing Kibana + Elasticsearch
from: http://tom.meinlschmidt.org/2014/05/19/securing-kibana-elasticsearch/ After some successful se ...
- 【原】安装mongo的php插件
http://pecl.php.net/package/mongo https://github.com/mongodb/mongo-php-driver/tarball/master 1. 安装mo ...
- Spark SQL External Data Sources JDBC官方实现读测试
在最新的master分支上官方提供了Spark JDBC外部数据源的实现,先尝为快. 通过spark-shell测试: import org.apache.spark.sql.SQLContext v ...
- node js 调试
npm install -g node-inspector node --debug app.js >重新打开一个窗口 node-inspector & KO! no ...
- Uiautomator自动编译运行脚本
Uiautomator的编译运行过程需要输入好几个命令,太麻烦. 花了点时间写了个简单的bat.方便多了.id输入当前使用的SDK ID号(android list target命令可以查看到),cl ...
- imp导入oracle的dmp备份数据
imp system/oracle fromuser=lc0029999 touser=lc0029999 rows=y commit=y buffer=65536 feedback=10000 ig ...