php视图模型,ThinkPHP中视图模型详解.

很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解!

先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相对于使用原生SQL语句来说,着实是简单不少.

首先在数据表初始化的时候,用的不是传统的M(‘User‘),在视图模型中使用的是D(‘UserView‘),如下图:

01eb04179c1dcb3bea51f3a6f791aff2.png

需要主要的是几个单词的首字母大写.

之后在Lib/Model目录中新建名为XXXViewModel.class.php(XXX为任意控制器名/首字母大写).里面的内容格式如下图:

6069e51e453f20289532b8d7cacddf31.png

推荐所有的数组后面都加上‘_type‘=>‘LEFT‘.因为当所关联的表的数据为空时,系统会报错.

首先主表就是customer数组中填写的则是需要查询出来的字段,其中里面的p_id和b_id则是他所关联的表设置的别名,其实类似于原生SQL里面的LeftJoin语句的感觉.

3b39eaa9c011d9e60c189dae3a982858.png

上图所示,‘_table‘写的是你需要关联的表名,值得注意的是表名需要写全称,包括它的前缀.

‘_as‘则是你要给他取的别名,‘name‘则是你之后在进行CURD操作的时候所用的字段,

‘_on‘执行关联操作:主表.所关联的ID=副表(使用的是别名).主键ID,当他们相等的时候,也就实现了主表某个字段与副表的某条数据进行关联了,最后惊醒Select操作就是把关联的内容展现出来了.

当然这个一般用来处理过于繁杂的表数据关联,比如说一个主表关联十几个副表,这个时候用到视图模型你就会觉得省心了.

这只是一个基本功能的简单例子,基本就讲解到这里.希望可以帮助到一些TP的新手.

原文:http://www.cnblogs.com/p-0day/p/3876236.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值