Maison > cadre php > PensezPHP > le corps du texte

Quelles sont les méthodes de fonctionnement de la base de données dans Thinkphp5.0 ?

WBOY
Libérer: 2023-05-31 17:28:06
avant
897 Les gens l'ont consulté

Utilisation de base

Opération de requête

Db::query('select * from think_user where id=?',[8]);
Copier après la connexion

Opération d'écriture#🎜 🎜 #

Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);
Copier après la connexion

Constructeur de requêtes

Données de requête

find Renvoie un enregistrement , le résultat renvoyé est un tableau unidimensionnel si le résultat n'existe pas, NULL est renvoyé

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

select Renvoie tous les enregistrements, le résultat renvoyé est un tableau bidimensionnel. existe, un tableau vide est renvoyé# 🎜🎜#
Db::table('think_user')->where('status',1)->select();
Copier après la connexion

Assistant function

Le système fournit une fonction db assistant pour des requêtes plus pratiques :

db('user')->where('id',1)->find();
db('user')->where('status',1)->select();
Copier après la connexion

# 🎜🎜#Remarque : L'utilisation de la fonction db assistant se reconnectera à la base de données à chaque fois par défaut, tandis que l'utilisation de la méthode Db::name ou Db::table est un singleton. Si la fonction db doit utiliser le même lien, vous pouvez transmettre le troisième paramètre, tel que

db('user',[],false)->where('id',1)->find();
db('user',[],false)->where('status',1)->select();
Copier après la connexion
add data

#🎜 🎜#use La méthode insert de la classe Db soumet les données à la base de données. Entrez simplement les données qui doivent être ajoutées

$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('think_user')->insert($data);
Copier après la connexion
insertAll La méthode ajoute les données avec succès et renvoie le nombre d'éléments ajoutés avec succès#🎜 🎜#

Fonction Assistant

$data = [    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);
Copier après la connexion
Mettre à jour les données

La méthode de mise à jour renvoie le nombre de données affectées, et renvoie 0 si aucune donnée n'est modifiée

// 添加单条数据
db('user')->insert($data);

// 添加多条数据
db('user')->insertAll($list);
Copier après la connexion

Mettre à jour un champ Valeur : La méthode setField renvoie le nombre de données affectées. Si aucun champ de données n'est modifié, elle renvoie 0

Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Copier après la connexion
Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');
Copier après la connexion
. # 🎜🎜 # Mise à jour retardée # 🎜🎜 #
自增或自减一个字段的值
// 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
# 🎜🎜 ## 🎜🎜 # Delete Data # 🎜🎜 ## 🎜🎜 #
Db::table('think_user')->where('id', 1)->setInc('score', 1, 10);
Copier après la connexion
# 🎜🎜 ## 🎜🎜 # Méthode de requête conditionnelle # 🎜🎜 ## 🎜🎜 ## 🎜🎜#where

Vous pouvez utiliser la méthode Where pour effectuer une requête conditionnelle AND :
// 根据主键删除
Db::table('think_user')->delete(1);
Db::table('think_user')->delete([1,2,3]);

// 条件删除    
Db::table('think_user')->where('id',1)->delete();
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;,&#39;<&#39;,10)->delete();
Copier après la connexion

whereOr méthode#🎜🎜 #

Db::table(&#39;think_user&#39;)
    ->where(&#39;name&#39;,&#39;like&#39;,&#39;%thinkphp&#39;)
    ->where(&#39;status&#39;,1)
    ->find();
Copier après la connexion

Requête mixte

where Les méthodes et les méthodes WhereOr doivent souvent être mélangées dans des conditions de requête complexes. Voici un exemple : # 🎜🎜#
Db::table(&#39;think_user&#39;)
    ->where(&#39;name&#39;,&#39;like&#39;,&#39;%thinkphp&#39;)
    ->whereOr(&#39;title&#39;,&#39;like&#39;,&#39;%thinkphp&#39;)
    ->find();
Copier après la connexion

Expression de requête

Les expressions de requête prennent en charge la plupart des syntaxes de requête SQL et constituent l'essence du langage de requête ThinkPHP. Le format d'utilisation des expressions de requête est :
$result = Db::table(&#39;think_user&#39;)->where(function ($query) {
    $query->where(&#39;id&#39;, 1)->whereor(&#39;id&#39;, 2);
})->whereOr(function ($query) {
    $query->where(&#39;name&#39;, &#39;like&#39;, &#39;think&#39;)->whereOr(&#39;name&#39;, &#39;like&#39;, &#39;thinkphp&#39;);
})->select();
Copier après la connexion
rrree

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:yisu.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!