Daject初探之Record模型
上一篇博文我简单介绍了Daject以及Daject的Table模型,Table模型是对一张数据表的抽象,从数据表的级别处理数据,而Record模型是对单条数据记录的抽象,从记录的级别处理数据。
这一篇博文我将重点Daject的Record模型。
如果你还不知道Daject是什么,如何使用,可以浏览本人上一篇博文 http://www.cnblogs.com/kason/p/3577359.html
github地址:https://github.com/kasonyang/Daject
废话不多说,先上代码
class User extends DajectRecordBase{}
上面这一行代码是Record模型的声明,大家可能觉得奇怪,这个类里面怎么什么代码都没有啊?有什么用?不错,这个类是空的,里面什么代码都没有,但是这个代码声明了两件很重要的事
- 这是一个Record模型(基类是DajectRecordBase)
- 这个Record模型对应数据库里的表是user(注意大小写,是全小写)
可能这里有人看不明白了,怎么知道这个模型对应的是user表?事实上,类的名称里就已经说明了这个模型对应的数据表,将类名(User)转为小写形式,就是模型对应的数据表了(user)!(当然,如果你想类名跟表名不是这样的简单对应,也是可以的,这个内容放到以后再讨论。)
下面,我们来读user表里id为2的记录。
$user = new User(array('id' => 2));//读取id为2的记录
if($user->exist()){//判断是否存在记录
echo $user->name;//显示name字段值
echo $user->age;//显示age字段值
}else{
echo '没有找到相应的记录!';
}
接着,我们还可以修改这条记录
$user->age = 15;//将age字段值修改为15
怎样?还不过瘾?我们给User模型加点调料吧
class User extends DajectRecordBase{
function sayHi(){
echo 'Hi,i am ' . $this->name . '!';
}
}
这样,我们直接就可以这样使用了
$user->sayHi();
Daject初探之Record模型的更多相关文章
- Daject初探 - 从Table模型得到Record模型
前言: 如果你还不知道Daject是什么,如何使用,可以浏览 http://www.cnblogs.com/kason/p/3577359.html github地址:https://github.c ...
- JVM初探 -JVM内存模型
JVM初探 -JVM内存模型 标签 : JVM JVM是每个Java开发每天都会接触到的东西, 其相关知识也应该是每个人都要深入了解的. 但接触了很多人发现: 或了解片面或知识体系陈旧. 因此最近抽时 ...
- Daject初探 - 一个开源关系型数据库对象关系映射(ORM)模型
Daject简介 Daject是用php写的一个关系型数据库抽象模型,通过该模型,可以在不写任何SQL或写很少的SQL就能执行大多数数据库查询操作.Daject具有面向对象,跨数据库的优点,通过数据库 ...
- Android学习系列(5)--App布局初探之简单模型
人类科技的进步源自探索,探索来自于发现本原,当然App布局没这么先进,本文也只是一个归类总结.这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. Androi ...
- 舆论的力量---数学建模初探(SI模型)
在高中时除了物理竞赛没有学习外,竞赛的五大学科剩下的四门均有所涉猎及参加,因而精力分散太多.因此下定决心大学时可以广泛涉猎知识,但是主攻的竞赛只能有两个ACM和MCM,如今虽然高考完挂,但学术之心尚存 ...
- iOS - Scenekit3D引擎初探之 - 导入模型+上传服务器+下载并简单设置
SceneKit是ios8之后苹果推出了一个3D模型渲染框架. SceneKit现在可以支持有限的几种模型,截止到我写这篇文章为止似乎只有.dae和.abc后一种模型我没有使用过.这篇文章只针对.da ...
- C++之面向对象初探----对象管理模型(关键是this指针)
前言 c++对象模型可以概括为以下2部分 1.语言中直接支持面向对象程序员设计部分,主要涉及如构造函数.析构函数.虚函数.继承(单继承.多继承.虚继承).多态等待. 2.对于各种支持的底层实现机制 在 ...
- JVM初探- 使用堆外内存减少Full GC
JVM初探-使用堆外内存减少Full GC 标签 : JVM 问题: 大部分主流互联网企业线上Server JVM选用了CMS收集器(如Taobao.LinkedIn.Vdian), 虽然CMS可与用 ...
- Django笔记 —— 模型高级进阶
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
随机推荐
- 【Trie】模板(动态指针,静态数组)
摘自hackbuteer1 Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的 ...
- 添加iPhone设备的udid之后,重新生成开发证书(Development)
选择Provisioning profiles-Development-添加 ,如图:
- UIToolbar自定义背景及按钮设置
//1.创建toolbar(MyToolbar继承UIToolbar) _myToolbar = [[MyToolbar alloc]initWithFrame:CGRectMake(kZero, ...
- Java作业
1.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff.具体要求如下: (1)Person类中的属性有:姓名name(String类型),地址 ...
- 解决tsc.exe 已退出 代码为 1
最近从ABP上面下载一个项目,然后用VS2015编译后报错,在Web项目下ABP---Framework---scripts下面多了一个abp.d.ts,报了一大堆错误 上网一查,d.ts是TypeS ...
- thinkphp,javascript跨域请求解决方案
javascript跨域请求解决方案 前言 对于很多前端或者做混合开发的同学,我们难免会遇到跨域发起请求业务,比如A站点向B站点请求数据等等.由于最近要做一个站点集群的项目,所以具体业务要求很多个站点 ...
- HTML之背景颜色的改变
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- vs怎么创建MVC及理解其含义
怎么创建MVC项目 一·1.点击 文件à新建à项目à模板àVisua C#(选择 .NET Framework 4.0或以上版本) à选择 MVC 3 Web应用程序 或者MVC 4 Web应用程序à ...
- Chromium浏览器高级开发系列第一篇:如何获取最新chromium源码
背景: 最近摊上一个事儿,领导非要让写一篇技术文章,思来想去,自己接触chrome浏览器时间也不短了,干脆就总结一下吧.于是乎,本文顺理成章.由于有些细节必需描述清楚,所以这次先讲如何拿到ch ...
- @Register指令
@Register指令用来创建标记前缀和自定义控件之间的关联,这为开发人员提供了一种在ASP.NET应用程序文件(包括网页.用户控件和母板页)中引用自定义控件的简单方法. <%@Register ...