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对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
随机推荐
- poj 2152 树形DP
思路:这个没思路,看了陈启峰的论文写得. #include<map> #include<set> #include<cmath> #include<queue ...
- [转]如何编译tizen源码(图文教程)?
http://blog.csdn.net/flydream0/article/details/9004746 前一篇文章已经介绍了如何下载tizen源码(http://blog.csdn.net/fl ...
- highcharts设置Area颜色透明度
$(function () { $('#container').highcharts({ chart: { type: 'area' }, xAxis: { categories: ['Jan', ' ...
- 何为 ISAPI
ISAPI即为Internet Server Application Programming Interface ISAPI 服务器扩展 ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 ...
- PHP利用GD库画曲线
效果: PHP代码 <?php Header('Content-type: image/png;Charset:utf-8'); //声明图片 $im = imagecreate(400,200 ...
- C#--深入分析委托与事件
本篇文章将为你介绍一下 Delegate 的使用方式,逐渐揭开 C# 当中事件(Event)的由来,它能使处理委托类型的过程变得更加简单. 还将为您解释委托的协变与逆变,以及如何使用 Delegate ...
- 解决discuz与jquery不兼容问题——下拉列表不能用(Uncaught TypeError: Cannot set property 'position' of undefined)
问题描述: 最近学着用discuz来模仿一个门户网站,里面要把导航条做出滑动效果,要用到jquery,将要用到jquery引用到header.htm中,如下图所示: 但是由于discuz采用php以及 ...
- C# HttpWebRequest类
HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...
- JS与C#编码解码
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@ ...
- iOS 父子关系
1.面向对象特征,类的继承 成员变量(实例变量) 子类继承父类所有功能,只能直接(访问)调用父类中的.h中的protect和public成员变量(实例变量)及方法, .h中的私有的成员变量,子类不能直 ...