php数据建模,数据模型数据操作

这篇博客详细介绍了PHP框架中模型类的使用方法,包括如何创建模型类、调用方式以及数据库交互。模型类提供了组装方法和数据操纵方法,如设置数据表、WHERE条件、排序、插入、更新和删除等。示例代码展示了如何进行各种操作,帮助开发者更好地理解和应用模型类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模型是专门用来和数据库打交道的 PHP 类。

创建模型类

dayrui/App/Test/Models/My.php<?php  namespace Phpcmf\Model;

class My extends \Phpcmf\Model

{

function my_test() {

return '模型类方法输出';

}

}

请注意文件和类名的命名格式:文件首字母必须大写,类名首字母必须大写。

模型类调用方式\Phpcmf\Service::M('类文件名', 'APP目录名')->方法(参数)

例如:

\Phpcmf\Service::M('my', 'test')->my_test();

数据库对象用法

数据库对象调用方法$this->db; // 这个写法只能在模型文件中写,

\Phpcmf\Service::M()->db; //这个可以任意地方写。

运行查询语句$rt = $this->db->query("你的查询语句");

模型类数据操纵用法

一、组装方法

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

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("字段", "值");

二、查询方法

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的记录

本文地址:https://www.xunruicms.com/doc/207.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值