PHP7中文手册2018 带注释 最新chm版
1:简单例子:
$post=new Post; $post->title="…………"; $post->content='…………'; $post->save();
2:attributes的使用:
$psot = new Post;
$psot->attributes(array('title'=>'…………','content'=>'…………'));
或$psot->setAttributes(array('title'=>'…………','content'=>'…………'));
$psot->save();
使用attributes可以直接获取数组值(如$_POST),不用逐个赋值,$psot->attributes = $_POST['post'];
二:读取数据:
1: 获取一行数据:find系列
$post=Post::model()->find($condition,$params);
$post=Post::model()->findByPk($postID,$condition,$params); $post=Post::model()->findByAttributes($attributes,$condition,$params); $post=Post::model()->findBySql($sql,$params);
例:$post=Post::model()->find('postID=:postID', array(':postID'=>10)); // 查找 postID=10 的那一行
echo $post->title; //输出帖子的标题
注: $condition相当于while条件,可以有多个值,也可以不绑定参数直接赋值。
$post=Post::model()->find('status=:status;class=mood', array(':status'=>8)); //查找status=9 class=mood的那一行
2:获取多行数据:findAll系列
$posts=Post::model()->findAll($condition,$params);
$posts=Post::model()->findAllByPk($postIDs,$condition,$params); $posts=Post::model()->findAllByAttributes($attributes,$condition,$params); $posts=Post::model()->findAllBySql($sql,$params);
3:为了方便,(Yii)还提供了如下方法:
获取满足指定条件的行数: $n=Post::model()->count($condition,$params);
通过指定的 SQL 获取结果行数: $n=Post::model()->countBySql($sql,$params);
检查是否至少有一行复合指定的条件:$exists=Post::model()->exists($condition,$params);
三:更新数据
1:更新符合指定条件的行
Post::model()->updateAll($attributes,$condition,$params);
$attributes参数是一个以列名做索引的值的数组,所以处理POST表单时,可以如下处理:
Post::model()->updateAll($_POST['apply'],'user_id=:user_id',array(':user_id'=>10));
2:更新符合指定条件和主键的行
Post::model()->updateByPk($pk,$attributes,$condition,$params);
3:更新满足指定条件的行的计数列(对数值实现:递增、递减)
Post::model()->updateCounters($counters,$condition,$params);
例:
Post::model()->updateCounters(array('count'=>1),'parentid=:parent',array(':parent'=>0));//自动叠加1
Post::model()->updateCounters(array('count'=>-1),'parentid=:parent',array(':parent'=>0));//自动递减1
四:删除记录
1:删除符合指定条件的行
Post::model()->deleteAll($condition,$params);
2: 删除符合指定条件和主键的行
Post::model()->deleteByPk($pk,$condition,$params);
转载请注明:谷谷点程序 » Active Record 操作数据库