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

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

WBOY
WBOYavant
2023-05-27 14:52:221537parcourir

1. Interroger un seul champ

Pour interroger un certain champ de la table, nous pouvons spécifier la table à interroger via la fonction table(), tandis que la fonction find() signifie interroger un seul résultat, similaire à MySQL SELECT * FROM nom_table WHERE nom_colonne = 'valeur' ​​LIMIT 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

Pour obtenir l'enregistrement complet dans la table, vous pouvez utiliser la méthode find() ou 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

Utilisez la fonction select() pour interroger plusieurs enregistrements de la table qui répondent aux conditions de requête. La différence avec la fonction find() est que 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 numéro des 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.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer