thinkphp视图模型详解
来源:互联网 发布:vb怎么下载 编辑:程序博客网 时间:2024/05/16 11:01
视图模型更加类似一张表虚拟的表,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选,这是ThinkPHP手册上的说法。其实说白了,视图模型就是mysql多表查询而已,视图模型不支持多表更新,删除。
创建视图模型文件 将该文件保存为 Lib/Model/ArticleViewModel.class.php
<?phpclass ArticleViewModel extends ViewModel{ public $viewFields = array( 'article'=>array('id','title','rem','pic','_type'=>'LEFT'), 'cate'=>array('name','_on'=>'article.cateid=cate.id'), );}?>
需要注意的是:
1.'_type'=>'LEFT'
,这里的_type定义对下一个表有效,因此要注意视图模型的定义顺序。
2.'_on'
执行关联操作:主表.所关联的ID=副表(使用的是别名).主键ID,当他们相等的时候,也就实现了主表某个字段与副表的某条数据进行关联了,最后惊醒Select操作就是把关联的内容展现出来了.
在对应的操作中使用视图模型
<?phpnamespace Admin\Controller;use Think\Controller;class ArticleController extends Controller { public function lst(){ **$article = D('ArticleView'); // 实例化article对象** $count = $article->count();// 查询满足要求的总记录数 $Page = new \Think\Page($count,2);// 实例化分页类 传入总记录数和每页显示的记录数(2) $show = $Page->show();// 分页显示输出 // 进行分页数据查询 注意limit方法的参数要使用Page类的属性 $list = $article->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->assign('list',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->display(); }}
阅读全文
0 0
- thinkphp视图模型详解
- thinkphp 视图模型 关联模型
- 关于thinkphp视图详解
- ThinkPHP视图查询详解
- thinkphp 视图和关联模型
- thinkphp 定义视图模型调用关联查询
- ThinkPHP视图/关联模型使用记录
- thinkphp关联模型实例详解
- thinkphp视图模型 视图必须是真是存在的表
- Thinkphp中视图模型存在的问题已经解决方法
- thinkphp 视图
- ThinkPHP 视图
- ThinkPHP视图
- ThinkPHP模型
- ThinkPHP 模型
- thinkphp模型
- ThinkPHP - 模型
- spring mvc 5.0 模型视图详解 07
- 第五章 EL ( Language )
- Linux中SSH免登陆原理
- iOS的GCD怎么样实现同步
- 字符集合
- 2017 软件开发薪酬调查:Go 和 Scala 是最赚钱的语言
- thinkphp视图模型详解
- 51nod 1101 换零钱 (完全背包)
- CSS居中学习总结
- 浅谈同步异步、阻塞非阻塞
- Android 局域网通信并实现控制设备的灯光
- mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作
- CreateWindow函数返回NULL
- Eclipse 中 SSH 项目搭建图文教程(二)
- HDU6005 -dijkstra+剪枝