CPress 在模板中查询数据库

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 %}