1.首先需要创建一个模型类,以user为例,在application/classes/model/user.php路径下创建user.php,并且一个表对应一个模型,且表名必须在类名后加“S”,即表名应该为users,在这个文件中,需要继承ORM类:
<?php <span>class</span> Model_User <span>extends</span><span> ORM { </span>...<span> } </span>?>
在控制器创建一个ORM实例(访问方法必须加前缀"action_",继承的类"Controller_Admin"是为了方便权限的控制):
<?<span>php </span><span>class</span> Controller_Admin_User <span>extends</span><span> Controller_Admin { </span><span>public</span> <span>function</span><span> action_test() { </span><span>$user</span> = ORM::factory('user'<span>);<br /> //insert<br /> $user->name = 'Tina';<br /> $user->age = '22';<br /> $user->save();<br /> //查询记录,得到的结果是一个对象<br /> $result = ORM::factory('user')->where('id','=',1)->find();<br /> //update,其中第二个参数是表users的primary_key,相当于ORM::factory('user')->where('id','=',1)->find();<br /> $user_update = ORM::factory('user',1);<br /> //loaded方法判断是否加载<br /> if($user_update->loaded()){<br /> $user_update->name = 'Jack';<br /> $user_update->save();<br /> }<br /> //delete<br /> ORM::factory('user',1)->delete(); } } </span>?>
ORM - 即Object/Relation Mapping
详细说明参见:baike.baidu.com/view/197951.htm
大概地说,这类框架的是为了将类对象和关系建立映射,在应用程序和数据库的IO之间建立一个中间层,在程序中只需要直接操作对象(数据库中对象的增删改查),而不用去关心数据库中表的列啊,关系啊什么的
举个例子:
以前一直自己一个人在家吃饭,需要自己去买米买菜,然后自己再做,做完了还得收拾,觉得好麻烦,但是也得做,没办法啊,苦逼的单身- -
这也就相当于传统的操作关系(未使用ORM);
而终于有一天,发现去饭馆吃饭很方便,不用操心买菜啊什么的,也不用操心吃完还得去收拾一大堆什么的,点好菜,吃好付钱走人就行了 - 什么做饭烧菜的事儿都有别人去做好,具体人家怎么做,就不用管了 - -
这饭馆就相当于是一个ORM的映射框架,为你处理那些烦琐的无聊的事,只把最重要的环节--吃饭--让你来做
而点菜就相当于你在做ORM映射的配置,你告诉饭馆你要吃点啥,饭馆就根据你的需要去配菜准备,做好了就给你送上来!
not found MODPATH\\database\\classes\\kohana\\db.php [ 63 ] 58 * @param请写明你在流程中是如何调用database或ORM的,也可能是你调用的方法不对。