要想实现数据库的操作,必须首先初始化数据模型。
一、yii的数据库模型的初始化有两种。第一种是利用模型的静态方法model;第二种是实例化一个新的模型。以例子说明:
//数据的查询关键代码 $goods_model = Goods::model(); $goods_infos = $goods_model -> findAll(); //数据的添加关键代码 $goods_model = new Goods(); $goods_model ->goods_name = 'xiaoming'; $goods_model ->save(); //数据的修改关键代码 $goods_model = Goods::model(); $goods_info = $goods_model -> findByPk($id); $goods_info ->goods_name = 'xiaozhang'; $goods_info -> save();//这里注意用的是原有的数据对象($goods_info),而添加时用的是新的数据模型对象($goods_model); //数据的删除关键代码 $goods_model = Goods::model(); $goods_info = $goods_model -> findByPk($id); $goods_info -> delete();
这里初始化数据模型的时候,只有添加数据的时候用到了new Goods();其他时候都是用Goods::model();
另外删除和修改 都是针对具体的某个对象数据进行的操作(这里不同于TP的操作)。
二、数据查找的延伸
/** * 查询的具体条件设置可以用findAll * 想要查询具体的 '字段' 用‘select’; * 想要查询具体的 '条件' 用‘condition’ * 想要查询具体的 '排序' 用‘order’ * 想要查询具体的 '分组' 用‘group’ * 想要查询具体的 '限制' 用‘limit’ * 想要查询具体的 '偏移量' 用‘offset’ */ $goods_infos = $goods_model -> findAll(array( 'select' => 'goods_name , id', 'condition' => 'id < 5', 'order' => 'id desc', 'group' => 'goods_category', 'limit' => '3', 'offset' => '1', ));