牛骨文教育服务平台(让学习变的简单)

第七课 数据库操作(模型)

之前的课程讲到,使用MVC架构的程序,在与数据库做交互时,都会把操作封装在模型中,而在iWebShop当中,读取操作用 IQuery 类,写入操作用 IModel 类。除非使用自定义的类,IQuery和IModel的操作没有独立成一个文件,在控制器中就可以找到相应的操作代码,本课程就讲一讲这两个类如何使用。

一、IQuery 类

IQuery类的定义位于libcorequery_class中,结构如下:

一般使用比较多的就__set中的各个属性和find方法,对实现原理有兴趣的可以看看这个文件,代码不长

IQuery类使用

以下通过官方的例子来说明

比如我们要查询商品表(goods)里面的 id=10 的商品,则

$goodsDB = new IQuery("goods"); //goods是表名,这里不需要加前缀
$goodsDB->where = "id = 10";   //where属性相当于sql中的where条件
$goodsData = $goodsDB->find(); //find方法就是执行查询,返回的是一个数组

从上面的例子可以看出来,IQuery的使用分三步

(1)创建IQuery对象,表名作为参数。

(2)设置对象的属性。

(3)执行查询,得到结果。

有关属性的说明,官方给出了以下说明:

 

二、IModel 类

IModel类的定义位于libcorequery_class中,结构如下:

代码量不大,setData,update,add,del,qurey为常用方法。

以下通过官方的例子来说明

比如要更新 goods 表中id=2的 price 字段,那么就是

$goodsDB = new IModel(‘goods’);//创建model对象,goods是表名
$goodsDB->setData(array(‘price’ => 1000));//设置表元素,是个二维数组
$goodsDB->update(‘id = 2’);    //执行更新动作,此时会把数组的数据更新到数据库中

从上面的例子可以看出,IModel的操作同样是创建对象,设置数据,执行操作这样的步骤。

有关属性的说明,官方给出了以下说明:

以上为IQuery类和IModel类的用法,具体的实践我们会在后续的课程中举例说明。

如有不明白的地方,留言或是加入我们 “三众技术QQ交流群”一起讨论

关于我们

三众科技资讯平台——大道至简,悦你所阅!
>本教程由三众简悦原创,转载请注明出处,作者:bobball,由bobo整理成牛骨文书籍

三众技术交流群:543102562

欢迎大家加入我们,共同讨论IT,互联网技术。同时可以扫描下面的二维码关注我们,谢谢!

三众科技服务号