模型常用方法

创建于 2022-07-27 / 最近更新于 2022-07-27 / 767
字体: [默认] [大] [更大]

PESCMS系列软件都集成了一些常用模型方法,您可以根据实际软件来尝试调用常用方法。

findContent() —— 依据某个表的字段查找单一内容

findContent参数

参数 类型 是否必填 默认值 说明
$param string 或 array 为字符串时,查找的表。
传递数组时,[0 => table, 1=>true] 则进行连贯操作,可操作emptyTips方法
$value string 匹配的内容
$field string 匹配的表字段
$showFiled string 空白字符串 返回数据库指定字段,为空则输出所有字段

findContent返回内容

前置条件 说明
$param为字符串时 返回查询到内容的一维数组,没有则返回null
$param为数组时,且key1为true 存在内容则返回查询到的一维数组,不存在则返回对象,若有连贯操作则执行。
$param为数组时,且key1为false 存在内容则返回查询到的一维数组,不存在则返回null

调用示例

$param为字符串

\\Model\\Content::findContent('article', '1', 'artcile_id'); //查询artciel表article_id = 1的内容

$param为数组,且连贯操作emptyTips()方法

\\Model\\Content::findContent(['0' => 'article', '1' => true], '1', 'article_id')->empty('文档不存在');
//当article_id = 1 存在则返回对应的内容,不存在则执行empty方法中的error()提示:“文档不存在”

listContent() —— 复合查找表内容

listContent参数

参数 类型 是否必填 默认值 说明
$param array 根据需求填写如下数组:['field' => '*', 'db' => '', 'prefix' => '', 'join' => '', 'condition' => '', 'order' => '', 'group' => '', 'limit' => '', 'lock' => '', 'param' => []]

listContent的参数填写方式,可以参考数据库一章。大同小异。

listContent返回内容

根据参数条件,返回查询到数据库的二维数组。为空则返回false。

调用示例

\\Model\\Content::listContent([
    'table' => 'article',
    'condition' => 'article_doc_id = :article_doc_id',,
    'param' => [
         'article_doc_id' => 'xxxx',
     ]
]);

quickListContent() —— 通过一句SQL语句快速生成分页列表

quickListContent参数

参数 类型 是否必填 默认值 说明
$sql array 数组必须填写 ['count' => '', 'normal' => '', 'param' => []],扩展补充 ['page' => '10', 'style' => [], 'LANG' => [] ]

由于篇幅有限,建议使用本方法查阅代码中的注释。

quickListContent返回内容

返回数组 说明
list 查询到数据库的二位数组,没有则空
page 分页的超链接
pageObj 本次分页的对象

调用示例

$sql = "SELECT %s FROM {$this->prefix}ticket AS t
                LEFT JOIN {$this->prefix}ticket_model AS tm ON tm.ticket_model_id = t.ticket_model_id 
                ".implode(' ', $join)."
                WHERE t.member_id = :member_id {$condition}
                ORDER BY t.ticket_submit_time DESC
                ";
$result = \Model\Content::quickListContent([
            'count' => sprintf($sql, 'count(*)'),
            'normal' => sprintf($sql, 't.*, tm.ticket_model_name, tm.ticket_model_cid'),
            'param' => $param,
            'page' => $page
 ]);
0 人点赞过