Opérations sur la base de données TP5

*文
Libérer: 2023-03-18 18:54:02
original
5589 Les gens l'ont consulté

La base de données d'exploitation est la base de l'exploitation du projet, et TP5 nous fournit des méthodes d'exploitation très pratiques. Cet article explique comment TP5 exploite la base de données et l'explique à travers des exemples. J'espère qu'il sera utile à tout le monde.

setField met à jour la valeur d'un champ

1

    $User = M("User"); // 实例化User对象
    // 更改用户的name值
    $User-> where('id=5')->setField('name','ThinkPHP');
Copier après la connexion

2 La méthode setField prend en charge la mise à jour de plusieurs champs en même temps. Il vous suffit de transmettre un tableau. , par exemple :

      $User = M("User"); // 实例化User对象
    // 更改用户的name和email的值
    $data = array('name'=>'ThinkPHP','email'=>'ThinkPHP@gmail.com');
    $User-> where('id=5')->setField($data);
Copier après la connexion

Pour mettre à jour les champs statistiques (généralement de type numérique), le système fournit également les méthodes setInc et setDec.

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

Mettre à jour les données dans la table de données

    Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Copier après la connexion

Si les données contiennent la clé primaire, vous pouvez l'utiliser directement :

    Db::table('think_user')->update(['name' => 'thinkphp','id'=>1]);
Copier après la connexion

La mise à jour renvoie les éléments qui affectent les données Numéro, aucune donnée n'a été modifiée et 0 est renvoyé

Si les données à mettre à jour nécessitent l'utilisation de fonctions SQL ou d'autres champs, vous pouvez utiliser la méthode suivante :

    Db::table('think_user')
        ->where('id', 1)
        ->update([
            'login_time'  => ['exp','now()'],
            'login_times' => ['exp','login_times+1'],
        ]);
Copier après la connexion

Mettre à jour la valeur d'un champ :

    Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');
Copier après la connexion

La méthode setField renvoie le nombre de données affectées Si aucun champ de données n'est modifié, elle renvoie 0

Incréments. ou décrémente la valeur d'un champ

    setInc/setDec 如不加第二个参数,默认值为1
    // score 字段加 1
    Db::table('think_user')->where('id', 1)->setInc('score');
    // score 字段加 5
    Db::table('think_user')->where('id', 1)->setInc('score', 5);
    // score 字段减 1
    Db::table('think_user')->where('id', 1)->setDec('score');
    // score 字段减 5
    Db::table('think_user')->where('id', 1)->setDec('score', 5);
Copier après la connexion

Mise à jour retardée

setInc/setDec prend en charge la mise à jour retardée Si une mise à jour retardée est requise, transmettez le troisième paramètre

Dans le fichier. exemple suivant, le délai est de 10 secondes et 1 est ajouté au champ score

    Db::table('think_user')->where('id', 1)->setInc('score', 1, 10);
Copier après la connexion

La méthode setInc/setDec renvoie le nombre de données affectées

Fonction assistant

    // 更新数据表中的数据
    db('user')->where('id',1)->update(['name' => 'thinkphp']);
    // 更新某个字段的值
    db('user')->where('id',1)->setField('name','thinkphp');
    // 自增 score 字段
    db('user')->where('id', 1)->setInc('score');
    // 自减 score 字段
    db('user')->where('id', 1)->setDec('score');
Copier après la connexion

Mise à jour rapide (V5.0.5+)

V5.0.5+ ou supérieure Les méthodes data, inc, dec et exp d'encapsulation de version sont des méthodes d'opération en chaîne et peuvent être utilisées conjointement avec la mise à jour.

Voici un exemple pour illustrer l'utilisation :

    Db::table('data')
        ->where('id',1)
        ->inc('read')
        ->dec('score',3)
        ->exp('name','UPPER(name)')
        ->update();
Copier après la connexion

Recommandations associées :

Exemple de gestion des autorisations d'authentification TP5

Explication détaillée du mécanisme de chargement automatique TP5

Résumé des fonctions du modèle 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!

É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