Maison  >  Article  >  développement back-end  >  À propos de l'ajout, de la suppression et de la modification du framework Yii

À propos de l'ajout, de la suppression et de la modification du framework Yii

不言
不言original
2018-07-04 13:49:442207parcourir

Cet article présente principalement l'ajout, la suppression, la modification et la vérification du framework Yii. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

1. Interroger des données

1. findAll (interroger une collection en fonction d'une 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 (interroger une collection en fonction de la clé primaire). , plusieurs clés primaires peuvent être utilisées)

$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 (interroger une collection en fonction de conditions, qui peuvent être plusieurs conditions, et placer les conditions dans un tableau)

$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params);
 
$admin=Admin::model()->findAllByAttributes(array('username'=>'admin'));

4. findAllBySql (interroger un tableau basé sur l'instruction SQL)

$admin=Admin::model()->findAllBySql($sql,$params);

$admin=Admin::model()->findAllBySql("select * from admin where username like :name",array(':name'=>'%ad%'));

5. (interroger un objet en fonction de la clé primaire)

$admin=Admin::model()->findByPk($postID,$condition,$params);

$admin=Admin::model()->findByPk(1);

6. find (interroger un ensemble de données en fonction d'une condition, il peut y en avoir plusieurs, seule la première ligne de données est renvoyée)

$row=Admin::model()->find($condition,$params);

$row=Admin::model()->find('username=:name',array(':name'=>'admin'));

7. findByAttributes (interroger un ensemble de données en fonction de conditions, qui peuvent être plusieurs conditions, mettre les conditions dans le tableau et interroger le premier élément de données)

$admin=Admin::model()->findByAttributes($attributes,$condition,$params);

$admin=Admin::model()->findByAttributes(array('username'=>'admin'));

8. findBySql (interroger un ensemble de données basé sur une instruction SQL, interroger les premières données)

$admin=Admin::model()->findBySql($sql,$params);

$admin=Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin'));

9. count (demander combien d'enregistrements il y a dans une collection en fonction d'une condition, renvoyer un nombre int)

$count=Post::model()->count($condition,$params);

$count=Post::model()->count("username=:name",array(":name"=>$username));

10. countBySql (selon SQL, l'instruction demande combien d'enregistrements il y a dans une collection et renvoie un nombre entier)

$count=Post::model()->countBySql($sql,$params);

$count=Post::model()->countBySql("select * from admin where username=:name",array(':name'=>'admin'));

11. existe (requête basée sur une condition pour voir si le tableau a obtenu des données, s'il y a des données, renvoie un vrai, sinon elle n'est pas trouvée)

$exists=Post::model()->exists($condition,$params);

$exists=Post::model()->exists("name=:name",array(":name"=>$username));

2. Ajouter des données

enregistrer (ajouter des données)

$admin=new Admin;       

$admin->username =$username;

$admin->password =$password;

if($admin->save() > 0){echo"添加成功"; }else{echo"添加失败"; }

3. Modifier les données

update($pk clé primaire, qui peut être une ou un ensemble, $attributs doit être modifié Une collection de champs, $condition condition, valeur transmise par $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) représente la table admin dans la base de données selon la condition username='admin ', les champs status de tous les résultats de la requête sont incrémenté de 1

4. Supprimer les données

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. Traitement des transactions

$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());

}

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun, veuillez faire attention au Site Web chinois PHP pour plus de contenu connexe !

Recommandations associées :

Explication sur la façon dont PHP permet aux éléments ayant la même valeur dans un tableau de former un nouveau tableau

Explication détaillée de la résolution du problème des longueurs de chaîne PHP incohérentes

Laravel5.2 utilise Captcha pour générer des codes de vérification pour implémenter la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn