QHotkey
QlistWidget QTableWidget 窗口置顶 QCefView EXCEL Jieba分词 剪切板 Mysql QTableView QRegularExpression正则 JQHttpServer POST 匹配TDK unicode转中文 eventFilter dr_url与dr_member_url 缓存 URI地址 数据库操作 系统目录常量 模板标签 QSpinBox Quick QCompress压缩 QLibrary QMap QVariant QNetworkAccessManager Qchart QFile Qjson QJSEngine QFileDialog对话框 QSet QTimer时钟

模型类数据操纵用法



//获取多条结果
$rows = \Phpcmf\Service::M()->db->query("select * from dr_member")->getResultArray();

//获取单条结果
$row  = \Phpcmf\Service::M()->db->query("select * from dr_member where id=1")->getRowArray();





一、组装方法


用于构造数据操作的条件方法,全部组装方法都返回数据对象,支持链式写法

1、设置数据表

$this->table("member") 解析为dr_member表

2、设置当前站点的数据表

$this->table_site("news", 1) 解析为dr_1_news表

3、设置where条件

$this->where("直接写条件");
$this->where("字段", "值");

4、设置where_in条件

$this->where_in("字段", "数组值");

5、设置排序条件

$this->order_by("字段", "值");

6、设置表自增主键,默认id

$this->id("字段", "值");

123456



二、查询方法


1、查询SQL语句

$rt = $this->query(SQL)

数据返回:

$rt['code']:1成功,0失败
$rt['msg']:失败原因

2、查询全部数据

$this->组装方法->getAll($num, $key)
参数
介绍
$num默认为全部表,本次查询的数据量
$key默认为0,本次查询按哪个字段作为数值主键,主键由0开始;如果填写id,那么主键就是id

数据返回:多维数组类型

用法举例:

$this->table("member")->getAll(); // 全部会员数据
$this->table("member")->where("money>0")->getAll(); // 金额大于0的会员数据


3、按条件查询单个数据

$this->组装方法->getRow()

数据返回:一维数组类型

用法举例:

$this->table("member")->where("username", "admin")->getRow(); // 账号是admin的会员数据


4、按主键查询单个数据

$this->组装方法->get($id)

数据返回:一维数组类型

用法举例:

$this->table("member")->id('uid')->get(1); // uid=1的会员数据
$this->table_site("news")->get(1); // id=1的新闻主表内容


5、统计数据

$this->组装方法->counts("表名称")

数据返回:数字

用法举例:

\Phpcmf\Service::M()->where("catid", 1)->counts("1_news") 查询栏目id=1的新闻
\Phpcmf\Service::M()->counts("1_news") 全部新闻数据量

三、插入方法


$this->table("表名称")->id("主键字段")->insert(数据数组)
或者
$this->table("表名称")->id("主键字段")->replace(数据数组)
参数
介绍
表名称例如member
主键字段默认是id,就是表的自增字段
数据数组数组格式,例如: array("字段名称" => "值", ....)

数据返回:

$rt['code']:0失败;大于0,表示本条数据的主键值,自增值
$rt['msg']:失败原因

用法举例:

$rt = $this->table("test")->id("id")->insert([
    "title" => "标题字段",
    "content" => "内容字段",
]);
if($rt['code']) {
    // 成功
} else {
    // 失败
}


四、更新方法


$this->table("表名称")->id("主键字段")->update($id, 数据数组)
参数
介绍
表名称例如member
主键字段默认是id,就是表的自增字段
$id
主键字段的值
数据数组数组格式,例如: array("字段名称" => "值", ....)

数据返回:

$rt['code']:0失败;大于0,表示本条数据的主键值,自增值
$rt['msg']:失败原因

用法举例:

$rt = $this->table("test")->id("id")->update(1, [
    "title" => "标题字段",
    "content" => "内容字段",
]);
if($rt['code']) {
    // 成功
} else {
    // 失败
}


五、删除方法


$this->table("表名称")->组装方法->id("主键字段")->delete($id)
参数
介绍
表名称例如member
主键字段可选, 默认是id,就是表的自增字段
$id
可选, 主键字段的值 可选

数据返回:

$rt['code']:0失败;大于0成功
$rt['msg']:失败原因

用法举例:

$rt = $this->table("test")->id("id")->delete(1); 删除id=1的记录
$rt = $this->table("test")->where("cid", 2)->delete(); 删除cid=2的记录