模板自定义随机查询语句与SQL查询处理

menglicl   ·   发表于 2023-9-12   ·   多选小说

模板支持自定义的SQL查询  写法如下

// 写法一 (拼接写法)
// printf 是用来拼接SQL语句的,如果有不需要拼接的可以无视
// {prefix} 是数据库表前缀变量  {articleField} 是小说表常用字段集合  %d是拼接SQL的占位符代表数字类型  %s 是字符串类型
// 解释: 从数据库中小说表随机查询40个结果再取其中的6条结果
{{$sql := printf "SELECT {articleField} FROM {prefix}article_article WHERE sortid = %d AND articleid IN (SELECT articleid FROM (SELECT articleid FROM {prefix}article_article ORDER BY RAND() LIMIT 40) AS t)LIMIT 6" .info.SortID}}

// 写法二 (常规写法)
// 解释:从数据库中读取最近更新的10条SQL语句
{{$sql := "SELECT {articleField} FROM {prefix}article_article ORDER BY lastupdate limit 10"}}

// SQL执行查询
// query是查询的函数 $sql是上边的定义的SQL也可以简写 (SQL语句)  $.Url是当前域名的HOST用于Redis做键,基本勿动  86400是Redis缓存时间(单位秒)
{{$sort := query $sql $.Url 86400}}

// 序列化查询到的结果
// 解释:从小说表读取的数据需要序列化下才可以range循环调用,否则返回[]map[string]any类型的数据
{{$sortArr := xlhArticle $.Url $sort}}



打赏我,让我更有动力~

0 Reply   |  Until 2023-9-12 | 671 View
LoginCan Publish Content
每日签到
0人
连续签到0天