# 模版模型介绍
项目开发中,模版调用数据内容,经常要操作数据库,如:调用最新文章列表,推荐内容,以及首页或者封面页面内容集合的调用。模版模型就是为了方便操作数据库查询进行的封装,可以直接在模版中调用数据库的内容,无需再经过控制器的处理。
# 模版模型标签调用说明
模块名:model
可用参数:
`table`:要查询的主表比如 `table = "user"`
~~~
{%mdoel data="userlist",table="user"%}
~~~
> 查询user表内的内容,`返回userlist` 列表集合。
`join` :{Object} 要组合的查询语句,默认为 `LEFT JOIN`
~~~
{%model data="data",table="question_user",cache='1000',order="question_count DESC",alias="a",limit="10",join='{"member": {"join": "left","as":"b","on": ["a.uid", "b.id"]}}'%}
~~~
`field` {String} 设置要查询的字段,必须是字符串
~~~
//设置要查询的字符串,字符串方式,多个用逗号隔开
{%mdoel data="userlist",table="user",field="name,age"%}
~~~
`fieldReverse`:{String} 反选字段,即查询的时候不包含这些字段
~~~
//设置要查询的字符串,字符串方式,多个用逗号隔开
{%mdoel data="userlist",table="user",field="name,age"%}
~~~
`alias`:{String} 表别名
~~~
{%model data="data",table="question_user",cache='1000',order="question_count DESC",alias="a",limit="10",join='{"member": {"join": "left","as":"b","on": ["a.uid", "b.id"]}}'%}
~~~
`limit`(offset, length) :offset {Number} 设置查询的起始位置 length {Number} 设置查询的数据长度
~~~
{%mdoel data="userlist",table="user",limit="10"%}
~~~
`where` {json字符串} where 条件
~~~
{%mdoel data="userlist",table="user",where='{"id":10}',limit="10"%}
~~~
`order` {String} 排序方式
~~~
{%mdoel data="userlist",table="user",where='{"id":10}',order="id DESC",limit="10"%}
~~~
cache {Number} 缓存有效时间,单位为秒,建议1000秒
~~~
{%mdoel data="userlist",table="user",where='{"id":10}',order="id DESC",limit="10",cache='1000%}
~~~
## 代码例子
~~~
{%model data="data",table="question_user",cache='1000',order="question_count DESC",alias="a",limit="10",join='{"member": {"join": "left","as":"b","on": ["a.uid", "b.id"]}}'%}
{%if data.length>0%}
<div class="box-inner nopadding margin-bottom-20">
<h3>
<a class="pull-right size-11 text-warning" href="#">更多</a>
热门用户
</h3>
<div class="" >
{%for user in data%}
<div class="clearfix margin-bottom-10"><!-- squared item -->
<img class="thumbnail pull-left rounded" src="/uc/index/avatar/uid/{{user.uid}}" width="40" height="40" alt="" />
<h4 class="size-14 nomargin noborder nopadding bold"><a href="#">{{user.username}}</a></h4>
<span class="size-12 text-muted">{{user.question_count}} 个问题, {{user.agree_count}} 次赞同</span>
</div><!-- /squared item -->
{%endfor%}
</div>
</div>
{%endif%}
~~~
- CmsWing概览
- CmsWing是什么
- CmsWing能干啥
- 运行&部署
- 1.windows 运行 cmswing
- 2.Linux 运行 cmswing
- 3.使用 docker 部署
- 4.部署方式推荐
- 5.Nginx反向代理 并做动静分离
- 配置
- 快速上手
- 首页
- 后台使用说明
- 内容
- 内容管理
- 栏目管理
- 分类信息
- 回收站
- 网站模版
- 电商
- 营销推广
- 订单中心
- 支付与配送
- 财务管理
- 系统
- 用户管理
- 用户信息
- 权限管理
- 用户行为
- 行为日志
- 系统设置
- 网站设置
- 模型管理
- 配置管理
- 菜单管理
- 导航管理
- 数据库备份
- 微信
- 公众号设置
- 群发消息
- 素材管理
- 微信用户管理
- 自动回复
- 自定义菜单
- 扩展
- 项目结构
- 目录结构
- 模型设计
- 插件设计
- 用户行为设计
- 权限设计
- 文档模型设计
- 下载模型设计
- 图片模型设计
- 视频模型设计
- 商城模型设计
- 栏目设计
- 分类信息设计
- 模板规则
- 模版标签入门
- 模块类
- 模板语法规则
- 模版模型
- 模板调用方法
- 二次开发说明
- 命名规范与编码规
- 数据库字典
- 公共函数,Adapter,Middleware的使用规范
- 权限管理扩展说明
- 模型扩展开发说明
- 附录
- 配置参考
- 函数库参考
- Adapter参考
- Middleware参考
- FAQ
- Admin 管理
- 01.如何重置后台admin 管理帐号密码