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 ...
随机推荐
- .Net 一些好工具
1.代码类 ReSharper :代码检查,代码补齐,(收费)(vs插件) MultiEditing: vs多行编译工具 VSCommand : Web Essentials : Css扩展支持,JS ...
- 字符串--java中判断字符串是否为数字的方法的几种方法?
ava中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...
- C预处理和C库
#include <stdio.h> #define MAN(x) "n"##x int main(void) { printf("%s",MAN( ...
- ThinkPHP 3.2.3 Pager分页
不是很喜欢TP的分页类,因为生成的分页url感觉有点不好理解,例如访问路径xxxx/home/show.html,在模板输出分页后,例如产生了页码,页码链接的路径会变成xxxx/home/show/p ...
- 母版页的 page_load事件执行两次
定义了一个母版页 Admin.master 部分代码如下 <body onload="LoadHight()"> <div> <!--公共的头部开始 ...
- 整理: Android HAL
这篇文章整理来自http://bbs.chinaunix.net/thread-3675980-1-1.html 在论坛中看到的Android HAL讨论,有个ID描述的比较清楚,摘录如下: temp ...
- VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称 <转>
昨天写了一个很小的winform程序,其中引用了自己写的两个dll文件. 本来认为轻松搞定,结果一编译居然提示:未能找到类型或命名空间名称..... 于是删掉两个dll重新引用,再编译结果依旧!很是郁 ...
- mac安装chromedriver报错
运行提示:Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/c ...
- sudo用户管理
合理分配用户权限 分配方法-sudo /etc/sudoers 用户名 主机名=(运行用户名) 可运行的命令 例1 smb ALL=(ALL) /usr/sbin/useradd 例2 smb ALL ...
- 关于oracle中to_char和to_date的用法
一.24小时的形式显示出来要用HH24 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_date('200 ...
