主页 > 后端 > thinkphp教程 >
来源:自学PHP网 时间:2014-11-28 23:17 作者: 阅读:次
[导读] 注意:本文中的视图,是指数据库视图模型,而非 ThinkPHP 中的 View 视图类实现 数据库视图是指从一个或几个基本表中根据用户需要,提取出需要的数据列而做成一个虚表,这样就不必根据 a 表...
ThinkPHP 数据库视图模型注意:本文中的视图,是指数据库视图模型,而非 ThinkPHP 中的 View 视图类实现. 数据库视图是指从一个或几个基本表中根据用户需要,提取出需要的数据列而做成一个虚表,这样就不必根据 a 表数据再去查询 b 表,c 表... 等有关系的表而方便的一次性将数据查询出来. 视图在有些数据库下面并不被支持,ThinkPHP 模拟实现了数据库的视图,该功能可以用于多表联合查询. 要在 ThinkPHP 中使用视图模型,只需要继承 ViewModel,然后设置 viewFields 属性,使用 D方法实例化模型 即可. 视图模型实例 现有 user 表和 article 表如下(表前缀为 test_):
创建视图模型文件:
在该视图模型文件中,模型类继承 ViewModel 视图模型,并定义 $viewFields 属性,每个元素包括了数据表及对应要查询的字段,在每个表元素中,通过定义 _on 元素来定义关联查询条件. 将该文件保存为 Lib/Model/ArticleViewModel.class.php. 在 Action 操作中使用视图模型 在模块操作中,使用 D 方法来实例化视图模型:
访问该方法,打印出结果如下:
执行的 SQL 语句为: SELECT article.aid AS aid,article.title AS title,article.content AS content,article.uid AS uid,user.username AS username FROM test_article article JOIN test_user user ON article.uid=user.uid |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com