站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
ThinkPHP开发指南-模型之ActiveRecord
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP开发指南-模型|上一页]]</span> <div style="clear:both;"></div> [[ThinkPHP]]实现了ActiveRecords模式的ORM模型,采用了非标准的ORM模型:表映射到类,记录映射到对象。最大的特点就是使用方便和便于理解(因为采用了对象化),提供了开发的最佳体验,从而达到敏捷开发的目的。下面我们用AR模式来换一种方式重新完成CURD操作。 *创建数据 '''PHP代码''' <pre> $User = M("User"); // 实例化User对象 // 然后直接给数据对象赋值 $User->name = 'ThinkPHP'; $User->email = 'ThinkPHP@gmail.com'; // 把数据对象添加到数据库 </pre> '''PHP代码''' <pre> $User->add(); </pre> 如果使用了create方法创建数据对象的话,仍然可以在创建完成后进行赋值 '''PHP代码''' <pre> $User = D("User"); </pre> '''PHP代码''' <pre> $User->create(); // 创建User数据对象,默认通过表单提交的数据进行创建 // 增加或者更改其中的属性 </pre> '''PHP代码''' <pre> $User->status = 1; $User->create_time = time(); // 把数据对象添加到数据库 </pre> '''PHP代码''' <pre> $User->add(); </pre> *查询记录 AR模式的数据查询比较简单,因为更多情况下面查询条件都是以主键或者某个关键的字段。这种类型的查询,ThinkPHP有着很好的支持。先举个最简单的例子,假如我们要查询主键为8的某个用户记录,如果按照之前的方式,我们可能会使用下面的方法: '''PHP代码''' <pre> $User = M("User"); // 实例化User对象 // 查找id为8的用户数据 $User->where('id=8')->find(); </pre> 用AR模式的话可以直接写成: '''PHP代码''' <pre> $User->find(8); </pre> 如果要根据某个字段查询,例如查询姓名为ThinkPHP的可以用: '''PHP代码''' <pre> $User = M("User"); // 实例化User对象 $User->getByName("ThinkPHP"); </pre> 这个作为查询语言来说是最为直观的,如果查询成功,查询的结果直接保存在当前的数据对象中,在进行下一次查询操作之前,我们都可以提取,例如获取查询的结果数据: '''PHP代码''' <pre> echo $User->name; echo $User->email; 如果要查询数据集,可以直接使用: // 查找主键为1、3、8的多个数据 </pre> '''PHP代码''' <pre> $userList = $User->select('1,3,8'); </pre> '''更新记录'''在完成查询后,可以直接修改数据对象然后保存到[[数据库]]。 '''PHP代码''' <pre> $User->find(1); // 查找主键为1的数据 $User->name = 'TOPThink'; // 修改数据对象 $User->save(); // 保存当前数据对象 </pre> 上面这种方式仅仅是示例,不代表保存操作之前一定要先查询。因为下面的方式其实是等效的: '''PHP代码''' <pre> $User->id = 1; $User->name = 'TOPThink'; // 修改数据对象 $User->save(); // 保存当前数据对象 </pre> *删除记录 可以删除当前查询的数据对象 '''PHP代码''' <pre> $User->find(2); $User->delete(); // 删除当前的数据对象 或者直接根据主键进行删除 $User->delete('8'); // 删除主键为8的数据 $User->delete('5,6'); // 删除主键为5、6的多个数据 </pre> [[category:ThinkPHP]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)