ThinkPHP讲解(五)——数据库配置及Model数据模型层、查询
数据库配置
在TP框架中要进行连接数据库操作,要进行配置
要在convertion.php中找到“数据库配置”,并复制到项目配置文件config.php中
Model模型层制作
model:数据库中每张表对应一个模型
类名就是表名,类里面的成员变量就是列名
把一张表对应一个类,其中一条数据对应一个对象
如果我们对该表的模型没有特殊操作的话可以不用建立该模型
现在要制作一个最简单的model模型InfoModel.class.php
1 2 3 4 5 6 7 8 | <?php namespace Home\Model; //命名空间在home里的model文件夹下 use Think\Model; //父类文件在ThinkPHP/Library/Think/Model.class.php中 class InfoModel extends Model { } |
三种实例化model方式
1 2 3 4 5 6 7 8 9 10 | //实例化model类 //new 命名空间\Model\模型层名() //$info= new \Home\Model\InfoModel(); //var_dump($info); //$info=D("Info"); //D("模型标志") //var_dump($info); $car =M( "car" ); //M("数据表标志"); //var_dump($car); |
查询数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | //var_dump($car->select());//查询,返回数据的二维数组形势 //$attr=$car->where("brand='b002'")->select();//where方法可以添加查询条件 //$attr=$car->table("nation")->select();//table方法切换操作表 //$attr=$car->field("code,name")->select();//field 可以指定查询的字段 //$attr=$car->order("oil desc")->select();//排序 //$attr=$car->limit(2,2)->select();//分页查询,如果一个参数n代表取前n个;如果两个参数m,n代表跳过前m个,取n个。 //$attr=$car->page(3,2)->select();//分页,两个参数m,n代表第m页,n条数据 //$attr=$car->field("brand,count(*)")->group("brand")->select();//分组查询 //select * from info join nation on 条件; //$attr=$car->join("brand on car.brand=brand.brand_code")->select();//连接查询 //$attr=$car->distinct(true)->field("brand")->select();//去重查询 //$attr=$car->find("c001");//根据主键取一条数据,返回一维数组;不写主键值,默认返回第一条 //$attr=$car->select("c001,c002");//根据主键值查询,返回二维数组 $attr = $car ->where( "name like '%奥迪%'" )->order( "powers desc" )->select(); $this ->assign( "shuzu" , $attr ); $this ->display() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~