activerecords php,ActiveRecord_帮助文档_Thinkphp手册 | 码农网
ThinkPHP实现了ActiveRecords模式的ORM模型,采用了非标准的ORM模型:表映射到类,记录映射到对象。最大的特点就是使用方便和便于理解(因为采用了对象化),提供了开发的最佳体验,从而达到敏捷开发的目的。
下面我们用AR模式来换一种方式重新完成CURD操作。
创建数据
$User = M("User"); // 实例化User对象 // 然后直接给数据对象赋值 $User->name = 'ThinkPHP'; $User->email = 'ThinkPHP@gmail.com'; // 把数据对象添加到数据库 $User->add();
如果使用了create方法创建数据对象的话,仍然可以在创建完成后进行赋值
$User = D("User"); $User->create(); // 创建User数据对象,默认通过表单提交的数据进行创建 // 增加或者更改其中的属性 $User->status = 1; $User->create_time = time(); // 把数据对象添加到数据库 $User->add();
AR模式的数据查询比较简单,因为更多情况下面查询条件都是以主键或者某个关键的字段。这种类型的查询,ThinkPHP有着很好的支持。 先举个最简单的例子,假如我们要查询主键为8的某个用户记录,如果按照之前的方式,我们可能会使用下面的方法:
$User = M("User"); // 实例化User对象 // 查找id为8的用户数据 $User->where('id=8')->find();
用AR模式的话可以直接写成:
$User->find(8);
如果要根据某个字段查询,例如查询姓名为ThinkPHP的可以用:
$User = M("User"); // 实例化User对象 $User->getByName("ThinkPHP");
这个作为查询语言来说是最为直观的,如果查询成功,查询的结果直接保存在当前的数据对象中,在进行下一次查询操作之前,我们都可以提取,例如获取查询的结果数据:
echo $User->name; echo $User->email;
如果要查询数据集,可以直接使用:
// 查找主键为1、3、8的多个数据 $userList = $User->select('1,3,8');
更新记录
在完成查询后,可以直接修改数据对象然后保存到数据库。
$User->find(1); // 查找主键为1的数据 $User->name = 'TOPThink'; // 修改数据对象 $User->save(); // 保存当前数据对象
上面这种方式仅仅是示例,不代表保存操作之前一定要先查询。因为下面的方式其实是等效的:
$User->id = 1; $User->name = 'TOPThink'; // 修改数据对象 $User->save(); // 保存当前数据对象
删除记录
可以删除当前查询的数据对象
$User->find(2); $User->delete(); // 删除当前的数据对象
或者直接根据主键进行删除
$User = D("User"); $User->create(); // 创建User数据对象,默认通过表单提交的数据进行创建 // 增加或者更改其中的属性 $User->status = 1; $User->create_time = time(); // 把数据对象添加到数据库 $User->add();
0
activerecords php,ActiveRecord_帮助文档_Thinkphp手册 | 码农网相关推荐
- php验证码手册,验证码_专题_帮助文档_Thinkphp手册
验证码_专题_帮助文档_Think Think/Verify类可以支持验证码的生成和验证功能. 生成验证码 下面是最简单的方式生成验证码: seover" style=" marg ...
- php方法帮助文档,Trace方法_帮助文档_Thinkphp手册
Trace方法_帮助文档_Think 页面Trace只能用于有页面输出的情况,但是trace方法可以用在任何情况,而且trace方法可以用于AJAX等操作. Trace方法的格式:trace('变量' ...
- php上一页下一页代码博客,连接数据库上一页下一页_帮助文档_Thinkphp手册
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.目前的数 ...
- python语法手册chm-python3.5.2官方帮助文档 参考手册(CHM版)
python3.5.2官方帮助文档 参考手册(CHM版) python3.5.2官方帮助文档 参考手册(CHM版),欢迎下载! 新语法特性: PEP 492,具有async和await语法的协同程序. ...
- python帮助文档中文版下载-python3.5.2官方帮助文档 参考手册(CHM版)
python3.5.2官方帮助文档 参考手册(CHM版) python3.5.2官方帮助文档 参考手册(CHM版),欢迎下载! 新语法特性: PEP 492,具有async和await语法的协同程序. ...
- python3.6库参考手册_python3.5.2官方帮助文档参考手册(CHM版)
python3.5.2官方帮助文档 参考手册(CHM版) python3.5.2官方帮助文档 参考手册(CHM版),欢迎下载! 新语法特性: PEP 492,具有async和await语法的协同程序. ...
- python3.5中文手册chm_python3.5.2官方帮助文档 参考手册(CHM版)
python3.5.2官方帮助文档 参考手册(CHM版) python3.5.2官方帮助文档 参考手册(CHM版),欢迎下载! 新语法特性: PEP 492,具有async和await语法的协同程序. ...
- 【酷玩集团】文档管理手册
A3_1 酷玩集团文档管理手册 酷玩集团 目录 1.文档管理者职责 2.文档说明 2.1文档编制标准和指南 2.2文档质量等级 2.3文档具体类型 3.文档修改记录规定 4.文档统一格式规定 5.文档 ...
- Word文档TXT文档chm手册背景色设为护眼色
Word文档TXT文档chm手册背景色设为护眼色 备忘 备忘 1.电脑桌面,右键,点击个性化. 2.点击窗口颜色. 3.点击高级外观设置,进入窗口颜色和外观设置界面. 4.在项目中选择窗口后,点击右侧 ...
最新文章
- Node.js的url模块简介
- Hadoop大数据平台环境搭建注意事项,分布式数据采集,武汉数道云科技
- C# FileStream
- Ubuntu 下搭建 Android 开发环境(图文)
- switch在内存中的实现机制
- web安全工具 御剑后台扫描layer子域名挖掘机
- 语音控制c语言程序,基于52单片机的智能家居语音控制系统电路设计(含源程序+原理图)...
- 交换机的主要功能和工作特性
- listview优化几种写法(原创)
- ajax type是get请求,jQuery的Ajax请求数据时type无法使用GET
- Sublime Text操作之CSS
- ubuntu新建python代码文件_ubuntu 下python的配置及更新方法和具体使用
- Js 怎么遍历json对象所有key及根据动态key获取值
- StackExchange.Redis官方文档(一)【基本用法】
- 将一串数字转为一个数组的形式,如1234 = [1234]
- 化工企业采购数字化带来的流程优化和自动化(三)
- HTML简单内容小结(1)
- 小米note android原生壁纸,安卓福利分享:全新三星Note8原生壁纸 每一张都是三星扛鼎之作!...
- 安卓通讯录项目_【安卓用户】通讯录同步助手使用教程
- MDK报错:NO BROWSE INFORMATION AVAILABLE IN...
热门文章
- 同步时序逻辑电路分析——数电第六章学习
- cdrx4自动排版步骤_教你怎样在CDR里怎样编号自动排版
- [ScyllaHide] 04 ScyllaHide配置报错原因定位
- 服务器连接不上的处理方式
- 2018-7-5,Python练习
- spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性
- 坦克大战(Tank Battalion)------Java代码实现
- Unity-音频播放
- .rvm/gems/ruby-2.4.1@global/gems/cocoapods-1.5.0/lib/cocoapods/executable.rb:89: warning: Insecure
- 免费公共DNS的IP地址