跨控制器调用方法
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);
}