CPress 模板中,使用 fetch() 函数来查询数据库
例如:
查询文章数据(article模型)
{% set res = fetch("article") %}
循环显示
{% for item in res.list %}
<div>{{ item.id }} {{ item.name }}</div>
{% endfor %}
查询条件
fetch() 函数的第二个参数,允许传入查询条件,例如查询文章分类为 id 为 1 的文章
{% set res = fetch("article", {categoryId: 1 }) %}
多个条件的情况,查询分类 id 为 1,作者 id 为 2 的文章
{% set res = fetch("article", {categoryId: 1, userId: 2}) %}
分页与排序
在 fetch() 函数的第二个参数中,可以指定一次返回的记录数 limit,当前第几页 page,通过什么方式排序 order
{% set res = fetch("article", {limit: 5, page: 2, order: "id desc"}) %}
这些特殊参数(page、limit、order),可以与查询条件并存
分页按扭
<div>
{{ pageLink("/", res.pagination) }}
</div>
pageLink() 函数详细用法,参阅模板语法
使用原生SQL查询
{% for row in query("select * from document where id = :id", {"id": 1001}) %}
<div>{{ row.id }} {{ row.name }}</div>
{% endfor %}
{% for row in query("select * from document where id > ? and name like ?", 1001, "test%") %}
<div>{{ row.id }} {{ row.name }}</div>
{% endfor %}