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模型的声明,大家可能觉得奇怪,这个类里面怎么什么代码都没有啊?有什么用?不错,这个类是空的,里面什么代码都没有,但是这个代码声明了两件很重要的事

  1. 这是一个Record模型(基类是DajectRecordBase)
  2. 这个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();

原文地址:https://www.cnblogs.com/kason/p/3577987.html