# 模版模型介紹
項目開發中,模版調用數據內容,經常要操作數據庫,如:調用最新文章列表,推薦內容,以及首頁或者封面頁面內容集合的調用。模版模型就是為了方便操作數據庫查詢進行的封裝,可以直接在模版中調用數據庫的內容,無需再經過控制器的處理。
# 模版模型標簽調用說明
模塊名: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 管理帳號密碼