【数据的查询】
//查询方法
find() 返回的是对象,以$info[]=$goods_model->find(); 接收转换对象数组
findAll() 返回的是对象数组,可在views中直接用foreach()方法
findAll($condition,$param)
find()系列查询的结果都是一条
findBySql()
findByPk
findByAttributes
findAll()系列查询结果都是多条,即使没有结果也是一个空数组
findAllBySql()
findAllByPk
findAllByAttributes
【数据的添加,修改】数据的传递与接受在同一个控制器方法中
1. 创建模型对象new model()|| 修改调用 表模型::model()
2. 根据条件判断,给对象属性赋值
3. save()保存数据 //save()数据之前,会调用rules()方法,完成数据校验
||或是用表模型完成数据传递
【widget使用】widget传递的是表单数据,相应表模型名的二维数组
//form标签开始 <?php $form=$this->beginWidget('CActiveForm'); ?>
//form标签闭合 <?php $form=$this->endWidget(); ?>
//标签名 <?php echo $form->label($goods_model,'goods_name'); ?>
通过小物件widget创建各种表单域
textField() 普通输入框
passwordField() 密码框
radioButtonList() 单选按钮
checkBoxList() 复选框
textArea() 文本域
dropDownList() 下拉列表
$form->radioButtonList($user_model,'user_sex',$sex,array('separator'=>' '));
//完成标签名的语言设置,相应表模型goods里边设置,定义一个方法attributeLabes();
利用小物件widget制作表单
1. 制作form表单 CActiveForm
2. 制作各种表单域 textField() textArea()
3. 利用控制器controller将模型对象传递到视图views里边
4. 在模型里边制作方法attributeLabels()使得我们的标签可以显示自定义名字
小结:
1. 修改表单直接利用添加的表单即可
2. findByPk()获得被修改商品的实体对象出来
3. 把实体对象传递到视图,会自动呈现被修改信息
4. 信息保存调用save()方法
5. 一开始创建模型对象Goods::model()来创建
--------------------------------------------------------------------------------------------------------------------------
【商品信息的删除】
function actionDel($id){
$goods_model=Goods::model();
//进行删除对象的查找
$goods_model=$goods_model->findByPk($id);
//执行删除动作
if($goods_model->delete()){
$this->redirect('./index.php?r=houtai/goods/show');
}
$this->renderPartial("del");
}
//特殊查询
findAll($condition, $param);
目前我的数据库查询动作,只能关联where条件。
我的需求:
select goods_name,goods_price from sw_goods where goods_name like ‘%诺%’ order by goods_price limit 5
获得指定字段信息
根据字段排序
限制信息记录数目
参数是复合类型的,所以可以既是字符串,还可以是数组