This article mainly introduces the addition, deletion, modification and checking of Yii framework. It has certain reference value. Now I share it with everyone. Friends in need can refer to it
1. Query data
1. findAll (query a collection based on a condition)
$admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll("username=:name",array(":name"=>$username)); $admin=Admin::model()->findAll(“username=:name and age=:age” , array(“:name”=>$name, “age”=>$age)); $admin=Admin::model()->findAll(“username like :name and age=:age” , array(“:name”=>$name, “age”=>$age)); $infoArr= NewsList::model()->findAll("status = '1' ORDER BY id DESC limit 10 ");
2. findAllByPk (query a collection based on the primary key, multiple primary keys can be used)
$admin=Admin::model()->findAllByPk($postIDs,$condition,$params); $admin=Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age)); $admin=Admin::model()->findAllByPk(array(1,2));
3. findAllByAttributes (query a collection based on conditions, which can be multiple conditions, and put the conditions into the array)
$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params); $admin=Admin::model()->findAllByAttributes(array('username'=>'admin'));
4. findAllBySql( Query an array based on the SQL statement)
$admin=Admin::model()->findAllBySql($sql,$params); $admin=Admin::model()->findAllBySql("select * from admin where username like :name",array(':name'=>'%ad%'));
5. findByPk(Query an object based on the primary key)
$admin=Admin::model()->findByPk($postID,$condition,$params); $admin=Admin::model()->findByPk(1);
6. find (query a set of data based on a condition, there may be multiple data, only the first row of data is returned)
$row=Admin::model()->find($condition,$params); $row=Admin::model()->find('username=:name',array(':name'=>'admin'));
7. findByAttributes (query a set of data based on conditions, which can be multiple conditions, put the conditions into the array, and query the first piece of data)
$admin=Admin::model()->findByAttributes($attributes,$condition,$params); $admin=Admin::model()->findByAttributes(array('username'=>'admin'));
8 , findBySql (query a set of data based on SQL statements, query the first data)
$admin=Admin::model()->findBySql($sql,$params); $admin=Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin'));
9, count (query how many records there are in a collection based on a condition , returns an int type number)
$count=Post::model()->count($condition,$params); $count=Post::model()->count("username=:name",array(":name"=>$username));
10. countBySql (queries how many records a collection has according to the SQL statement and returns an int type number)
$count=Post::model()->countBySql($sql,$params); $count=Post::model()->countBySql("select * from admin where username=:name",array(':name'=>'admin'));
11. exists (query according to a condition to see if the array obtained has data. If there is data, return a true, otherwise it is not found)
$exists=Post::model()->exists($condition,$params); $exists=Post::model()->exists("name=:name",array(":name"=>$username));
2. Add data
save(add data)
$admin=new Admin; $admin->username =$username; $admin->password =$password; if($admin->save() > 0){echo"添加成功"; }else{echo"添加失败"; }
3. Modify data
update($pk primary key, which can be one or a set, $attributes is the set of fields to be modified, $condition, the value passed in by $params)
Post::model()->updateAll($attributes,$condition,$params); $count=Admin::model()->updateAll(array('username'=>'11111','password'=>'11111'),'password=:pass',array(':pass'=>'1111a1')); if($count> 0){echo "修改成功"; }else{echo"修改失败"; } $result=PostList::model()->updateAll(array('status'=>'1'),'staff_id=:staff and host_id=:host',array(':staff'=>$staff_id,':host'=>$host_id))
Post::model()->updateByPk($pk,$attributes,$condition,$params); $count=Admin::model()->updateByPk(1,array('username'=>'admin','password'=>'admin')); $count=Admin::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin')); if($count>0){echo"修改成功"; }else{echo"修改失败"; } Post::model()->updateCounters($counters,$condition,$params); $count=Admin::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin')); if($count> 0){echo "修改成功"; }else{echo"修改失败"; }
array ('status'=>1) represents the admin table in the database. According to the condition username='admin', the status field of all query results will be incremented by 1
4. Delete data
delete
Post::model()->deleteAll($condition,$params); $count=Admin::model()->deleteAll('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin')); $count= Admin::model()->deleteAll('id in("1,2,3")');//删除id为这些的数据 if($count>0){echo"删除成功"; }else{echo"删除失败"; } Post::model()->deleteByPk($pk,$condition,$params); $count= Admin::model()->deleteByPk(1); $count=Admin::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin')); if($count>0){echo"删除成功"; }else{echo"删除失败"; }
5. createCommand
$sql="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id"; $rows=Yii::app()->db->createCommand($sql)->query(); foreach($rowsas $k => $v){ echo$v['add_time']; }
6. Transaction processing
$dbTrans= Yii::app()->db->beginTransaction(); try{ $post=new Post; $post->'title'='Hello dodobook!!!'; if(!$post->save()){ throw new Exception("Error Processing Request", 1); } $dbTrans->commit(); $this->_end(0,'添加成功!!!'); }catch(Exception$e){ $dbTrans->rollback(); $this->_end($e->getCode(),$e->getMessage()); }
Related recommendations:
PHP lets the arrays with the same values form a new array instance explanation
The above is the detailed content of About the addition, deletion and modification of Yii framework. For more information, please follow other related articles on the PHP Chinese website!