第七课 数据库操作(模型)
之前的课程讲到,使用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,互联网技术。同时可以扫描下面的二维码关注我们,谢谢!