Maison  >  Article  >  cadre php  >  Comment utiliser les instructions de requête de table dans ThinkPHP

Comment utiliser les instructions de requête de table dans ThinkPHP

PHPz
PHPzoriginal
2023-04-11 09:13:26614parcourir

ThinkPHP est un excellent framework open source PHP qui a été utilisé avec succès dans de nombreux projets de développement Web. Il s’agit d’un framework léger, facile à utiliser et offrant des fonctionnalités riches. Parmi eux, l’exploitation de la base de données est une partie essentielle du projet de développement. Les instructions de requête sont une partie importante des opérations de base de données. Cet article présentera l'utilisation des instructions de requête de table dans ThinkPHP.

1. Interroger un seul champ

Pour interroger un certain champ dans la table, nous pouvons spécifier la table à interroger via la fonction table(), et la fonction find() signifie interroger un seul résultat, similaire à SELECT dans MySQL * FROM nom_table OÙ nom_colonne = 'valeur' ​​LIMITE 1.

Exemple de code :

$data = Db::table('user')->where('id', 1)->value('username');
echo $data; // 输出结果:'张三'

Dans le code ci-dessus, nous utilisons la fonction table() pour spécifier la table à interroger en tant qu'utilisateur, puis utilisons la fonctionwhere() pour spécifier les conditions de requête. Ici, nous interrogeons uniquement les enregistrements. avec l'identifiant 1, et la fonction use value () interroge la valeur du champ du nom d'utilisateur.

2. Interrogez l'intégralité de l'enregistrement

Si vous souhaitez interroger l'intégralité de l'enregistrement dans la table, nous pouvons utiliser la fonction find() ou la fonction select(). Parmi elles, la fonction find() signifie interroger le premier enregistrement qui remplit les conditions, et la fonction select() signifie interroger tous les enregistrements qui remplissent les conditions.

Exemple de code :

$data = Db::table('user')->where('username', '张三')->find();
print_r($data); // 输出结果:['id' => 1, 'username' => '张三', 'age' => 25]

Dans le code ci-dessus, nous utilisons d'abord la fonction table() pour spécifier la table à interroger en tant qu'utilisateur, puis utilisons la fonctionwhere() pour spécifier les conditions de requête, interrogeons les enregistrements dont le nom d'utilisateur est 'Zhang San', et enfin utiliser la fonction find () pour interroger l'intégralité de l'enregistrement.

3. Interroger plusieurs champs

Si vous souhaitez interroger plusieurs champs dans la table, nous pouvons utiliser la fonction field() pour spécifier les champs à interroger. Plusieurs champs sont séparés par des virgules.

Exemple de code :

$data = Db::table('user')->where('id', 1)->field('username, age')->find();
print_r($data); // 输出结果:['username' => '张三', 'age' => 25]

Dans le code ci-dessus, nous utilisons la fonction field() pour spécifier les champs à interroger comme nom d'utilisateur et âge, interrogeons l'enregistrement avec l'identifiant 1 et enfin utilisons la fonction find() pour interroger le dossier entier.

4. Interroger plusieurs enregistrements

Si vous souhaitez interroger plusieurs enregistrements de la table qui répondent aux conditions de requête, nous pouvons utiliser la fonction select(). Différente de la fonction find(), la fonction select() renvoie un tableau bidimensionnel composé du tableau de l'ensemble de résultats.

Exemple de code :

$data = Db::table('user')->where('age', '>', 20)->select();
print_r($data); // 输出结果:[['id' => 1, 'username' => '张三', 'age' => 25], ['id' => 2, 'username' => '李四', 'age' => 28]]

Dans le code ci-dessus, nous utilisons la fonction table() pour spécifier la table à interroger en tant qu'utilisateur, puis utilisons la fonctionwhere() pour spécifier les conditions de requête, interrogeons les enregistrements dont l'âge est supérieur à 20 et utilisez la fonction select() pour interroger plusieurs enregistrements.

5. Requête de tri

Si vous souhaitez trier les résultats de la requête, nous pouvons utiliser la fonction order(), où le paramètre peut être asc pour l'ordre croissant ou desc pour l'ordre décroissant.

Exemple de code :

$data = Db::table('user')->where('age', '>', 20)->order('age desc')->select();
print_r($data); // 输出结果:[['id' => 2, 'username' => '李四', 'age' => 28], ['id' => 1, 'username' => '张三', 'age' => 25]]

Dans le code ci-dessus, nous utilisons la fonction Where() pour spécifier les conditions de requête, interrogeons les enregistrements dont l'âge est supérieur à 20 et utilisons la fonction order() pour trier les résultats par ordre décroissant. age, et enfin utilisez la fonction select() pour interroger plusieurs enregistrements.

6. Requête de pagination

Si le résultat de la requête contient de nombreux enregistrements, nous pouvons utiliser la fonction limit() pour effectuer une requête de pagination, où le premier paramètre indique la position de départ de l'enregistrement et le deuxième paramètre indique le nombre d'enregistrements. à interroger.

Exemple de code :

$data = Db::table('user')->where('age', '>', 20)->order('age desc')->limit(0, 1)->select();
print_r($data); // 输出结果:[['id' => 2, 'username' => '李四', 'age' => 28]]

Dans le code ci-dessus, nous utilisons la fonction Where() pour spécifier les conditions de requête, interrogeons les enregistrements dont l'âge est supérieur à 20 et utilisons la fonction order() pour trier les résultats par ordre décroissant. age, puis utilisez la fonction limit() pour interroger l'enregistrement A.

Pour résumer, ce qui précède est une introduction à l'utilisation des instructions de requête de table dans ThinkPHP. J'espère que cela sera utile à l'apprentissage de chacun. Dans le développement réel, différentes requêtes nécessitent différentes instructions et les développeurs doivent choisir la méthode de requête la plus appropriée en fonction de besoins spécifiques.

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