Think PHP 3.2 创建Model对象 对表的操作(查数据) 数据的增删改查
创建Model模型
把"Home/Model"文件夹剪切到Application文件夹下,让Home和Admin共同使用。
第一种实例化模型的方法
第二种实例化模型的方法
第三种实例化模型的方法
在tp3.2以后,M()和D()是一样的,在3.2之前版本中
M()类似于是 new Model();
D('goods') 类似于 new GoodsModel():
提示:我们可以看到goods表的信息,在GoodsModel中没有写代码,所有的业务逻辑都是Model类来实现的
对表的操作
增加:M('表名')->add($data);
删除:M('表名')->delete($id);
更新:M('表名')->save($data);
查询:M('表名')->select();
普通查询(显示所有的商品)
1、GoodsController中的代码如下:
2、在模板中循环取出goods/showlist.html
3、获取一条记录 (find)
条件查询
having和where的区别
区别一:
where后面跟的字段必须在数据表中有
having后面跟的字段必须在数据集中有
区别二:
select * from 表 where 条件 group by 分组 having 条件
动态查询
getby+字段名
聚合函数
数据添加
1、通过关联数组的方法添加
2、通过AR(active record)方式来添加
3、使用create方法
$User = M("User"); // 实例化User对象、
// 根据表单提交的POST数据创建数据对象
$User->create();
$User->add(); // 根据条件保存添加的数据
数据修改
1、通过关联数组的方法、
2、通过AR(active record)方式
3、使用create方法
数据删除
直接执行SQL语句
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术