Maison  >  Article  >  développement back-end  >  Ajouter, supprimer, modifier et archiver ThinkPHP

Ajouter, supprimer, modifier et archiver ThinkPHP

韦小宝
韦小宝original
2017-11-29 10:32:591739parcourir

thinkphp est un framework PHP, abrégé en tp Aujourd'hui, je vais parler de l'ajout, de la suppression et de la modification de tp. tp. Je crois que vous aurez certainement l'impression que le natif que vous avez utilisé auparavant est vraiment trop gênant, et vous souhaiteriez pouvoir utiliser tp pour tout ce que vous écrivez !

1. Opération de création

Utilisez la méthode add dans ThinkPHP pour ajouter des données à la base de données.

La méthode d'utilisation est la suivante :

$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->add($data);

ou utilisez la méthode des données Fonctionnement continu

$User->data($data)->add();

Si l'objet de données a été créé avant add (par exemple, si la méthode create ou data est utilisée), la méthode add n'a pas besoin de transmettre de données.

Exemple d'utilisation de la méthode create :

$User = M("User"); // 实例化User对象

// Créer un objet de données basé sur les données POST soumises par le formulaire

$User->create();
$User->add(); // 根据条件保存修改的数据

Si votre clé primaire est un type de croissance automatique, Et si insère des données avec succès, la valeur de retour de la méthode Add est la dernière valeur de clé primaire insérée, qui peut être obtenue directement.

2. Lire des données

Il existe de nombreuses façons de lire des données dans ThinkPHP, généralement divisées en lecture de données et lecture d'ensembles de données.

Lire l'ensemble de données à l'aide de la méthode findall ou select (les méthodes findall et select sont équivalentes) :

$User = M("User"); // 实例化User对象

// Rechercher des données utilisateur avec la valeur d'état 1 et renvoyer 10 éléments triés par création time La valeur de retour de la méthode data

$list = $User->where('status=1')->order('create_time')->limit(10)->select();

select est un tableau bidimensionnel Si aucun résultat n'est trouvé, un tableau vide sera renvoyé. Des requêtes de données complexes peuvent être complétées avec les méthodes opérationnelles cohérentes mentionnées ci-dessus. La méthode cohérente la plus complexe devrait être l'utilisation de la méthode Where, car cette partie implique beaucoup de contenu, nous donnerons des instructions détaillées sur la façon d'assembler les conditions de requête dans la partie langage de requête. Les requêtes de base n'impliquent pas la partie requête associée pour le moment, mais utilisent le modèle associé pour effectuer des opérations sur les données. Veuillez vous référer à la section modèle associé pour cette partie.

Utilisez la méthode find pour lire les données :

L'opération de lecture des données est en fait similaire à l'ensemble de données. Toutes les méthodes d'opération cohérentes disponibles pour select peuvent également être utilisées pour la méthode find. La différence est que la méthode find Un seul enregistrement sera renvoyé au maximum, donc la méthode limit n'est pas valide pour les opérations de requête de recherche.

$User = M("User"); // 实例化User对象

//Rechercher des données utilisateur avec la valeur de statut 1 et la valeur de nom think

$User->where('status=1 AND name="think" ')->find();

Même s'il existe plusieurs données qui remplissent les conditions, la méthode de recherche ne renvoie que le premier enregistrement.

Si vous souhaitez lire la valeur d'un champ, vous pouvez utiliser la méthode getField, par exemple :

$User = M("User"); // 实例化User对象

// Récupérer le pseudo de l'utilisateur avec l'ID 3

$nickname = $User->where('id=3')->getField('nickname');

Lorsqu'il n'y a qu'un seul champ, renvoie toujours une valeur.

Si plusieurs champs sont renseignés, un tableau associatif peut être renvoyé :

$User = M("User"); // 实例化User对象

// Récupérer la liste des identifiants et pseudos de tous les utilisateurs

$list = $User->getField('id,nickname');

La liste renvoyée est un tableau, le nom de la clé est l'identifiant de l'utilisateur et la valeur de la clé est le surnom de l'utilisateur.

3. Mettre à jour les données

Utilisez la méthode de sauvegarde pour mettre à jour la base de données dans ThinkPHP et prend également en charge l'utilisation d'opérations cohérentes.

$User = M("User"); // 实例化User对象

//Affectation des attributs des objets de données à modifier

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->save($data); // 根据条件保存修改的数据

Afin d'assurer la sécurité de la base de données et d'éviter les erreurs, mettre à jour l'intégralité de la table de données. S'il n'y a aucune condition de mise à jour, les données Si l'objet lui-même ne contient pas de champ de clé primaire, la méthode de sauvegarde ne mettra à jour aucun enregistrement de la base de données.

Par conséquent, le code suivant ne modifiera aucun enregistrement dans la base de données

$User->save($data);

À moins que la méthode suivante ne soit utilisée :

$User = M("User"); // 实例化User对象

// Attribution des attributs des objets de données à modifier

$data['id'] = 5;
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->save($data); // 根据条件保存修改的数据

Si id est la clé primaire de la table de données, le système utilisera automatiquement la valeur de la clé primaire comme condition de mise à jour pour mettre à jour les valeurs des autres champs.

Une autre méthode consiste à créer l'objet de données à mettre à jour via la méthode create ou data, puis à l'enregistrer, afin que les paramètres de la méthode de sauvegarde n'aient pas besoin d'être transmis.

$User = M("User"); // 实例化User对象

// Affectation des attributs des objets de données à modifier

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->data($data)->save(); // 根据条件保存修改的数据

Exemple d'utilisation de la méthode create :

$User = M("User"); // 实例化User对象

// Données POST soumises selon au formulaire Créer un objet de données

$User->create();
$User->save(); //根据条件保存要修改的数据

Dans le cas ci-dessus, le formulaire doit contenir un champ caché nommé avec la clé primaire pour terminer l'opération de sauvegarde.

Si vous mettez à jour uniquement la valeur de champs individuels, vous pouvez utiliser la méthode setField :

$User = M("User"); // 实例化User对象

// Changer la valeur du nom de l'utilisateur

$User-> where('id=5')->setField('name','ThinkPHP');

Le setField La méthode prend en charge la mise à jour de plusieurs fichiers en même temps, il vous suffit de transmettre un tableau, par exemple :

$User = M("User"); // 实例化User对象

// Changer la valeur du nom et de l'e-mail de l'utilisateur

$User-> where('id=5')->setField(array('name','email'),array('ThinkPHP','ThinkPHP@gmail.com'));

Pour la mise à jour des champs statistiques (fait généralement référence au type numérique), le système fournit également les méthodes setInc et setDec :

$User = M("User"); // 实例化User对象
$User->setInc('score','id=5',3);// 用户的积分加3
$User->setInc('score','id=5'); // 用户的积分加1
$User->setDec('score','id=5',5);// 用户的积分减5
$User->setDec('score','id=5'); // 用户的积分减1

4. Supprimer les données

utilisé dans ThinkPHP méthode de suppressionsupprime les enregistrements dans la base de données. Les opérations de suppression peuvent également être effectuées à l’aide d’opérations cohérentes.

$User = M("User"); // 实例化User对象
$User->where('id=5')->delete(); // 删除id为5的用户数据
$User->where('status=0')->delete(); // 删除所有状态为0的用户数据

delete方法可以用于删除单个或者多个数据,主要取决于删除条件,也就是where方法的参数,也可以用order和limit方法来限制要删除的个数,例如:

// 删除所有状态为0的5个用户数据按照创建时间排序

$User->where('status=0')->order('create_time')->limit('5')->delete();

以上就是tp的增删查改四种方法了,更多关于tp的内天请到本站搜索哦~

相关推荐:

tp上传图片与生成缩略图功能的实现示例

TP5实现邮件发送服务封装以及可发附件的实例

TP5改写跳转提示页面的实现方法

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