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

不言
Libérer: 2023-04-02 10:38:02
original
2221 Les gens l'ont consulté

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 ");
Copier après la connexion
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));
Copier après la connexion
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'));
Copier après la connexion

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%'));
Copier après la connexion

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

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

$admin=Admin::model()->findByPk(1);
Copier après la connexion

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'));
Copier après la connexion

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'));
Copier après la connexion

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'));
Copier après la connexion

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));
Copier après la connexion

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'));
Copier après la connexion

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));
Copier après la connexion

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"添加失败"; }
Copier après la connexion

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))
Copier après la connexion
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"修改失败"; }
Copier après la connexion
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"删除失败"; }
Copier après la connexion

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'];

}
Copier après la connexion

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

}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal