Lorsque nous utilisons thinkphp pour rédiger un site Web, nous rencontrons souvent le problème de ne pas pouvoir obtenir de données. En effet, les opérations de données de thinkphp sont relativement complexes et nécessitent certaines compétences pour fonctionner correctement. Cet article présentera plusieurs méthodes et solutions courantes d’acquisition de données.
1. Utilisez le constructeur de requête pour obtenir des données
Le constructeur de requête est une méthode de manipulation de données de thinkphp, qui peut obtenir des données en appelant la méthode constructeur dans une chaîne. Par exemple :
$data = Db::table('users')->where('id', $id)->find();
Le code ci-dessus signifie obtenir les informations utilisateur avec l'ID $id dans la table des utilisateurs. Cependant, si aucun résultat correspondant n'est trouvé lors de la récupération des données, $data sera un tableau vide au lieu de null. En effet, la méthode find() renvoie un tableau et si aucune donnée correspondante n'est trouvée, elle renvoie un tableau vide.
Solution :
Nous pouvons utiliser la fonction empty() pour déterminer si la variable est vide, par exemple :
$data = Db::table('users')->where('id', $id)->find(); if(empty($data)){ //找不到匹配的数据 }else{ //获取到了匹配的数据 }
2 Utilisez la classe modèle pour obtenir des données
Utiliser la classe modèle pour obtenir des données est plus efficace. méthode. Tout d'abord, vous devez définir une classe de modèle, par exemple :
namespace appmodel; use thinkModel; class Users extends Model{ protected $table = 'users'; protected $pk = 'id'; }
Le code ci-dessus indique qu'une classe de modèle nommée Users est définie. Elle hérite de la classe Model de ThinkPHP, représente la table des utilisateurs dans la base de données et spécifie la classe principale. clé comme identifiant.
Ensuite, nous pouvons utiliser la classe model pour obtenir les données :
$user = Users::get($id);
Cette phrase signifie obtenir les informations utilisateur avec l'ID $id. Si des données correspondantes sont trouvées, $user sera un objet Users, sinon il sera nul.
Solution :
Pour déterminer si l'objet modèle est vide, vous pouvez utiliser la fonction is_null() ou la fonction empty(), par exemple :
$user = Users::get($id); if(is_null($user)){ //找不到匹配的数据 }else{ //获取到了匹配的数据 }
Utilisez la méthode list pour obtenir des données
Plus souvent, nous devons obtenir un ensemble de données. À ce stade, vous pouvez utiliser la méthode de liste pour obtenir des données. Par exemple :
$data = Db::table('users')->where('age', '>', 18)->order('id', 'desc')->limit(10)->select();
Cette phrase signifie obtenir les 10 principaux utilisateurs âgés de plus de 18 ans, triés par identifiant dans l'ordre inverse. Si aucune donnée correspondante n'existe, $data sera un tableau vide.
Solution :
Semblable à la première méthode, nous devons utiliser la fonction empty() pour déterminer si la variable est vide.
$data = Db::table('users')->where('age', '>', 18)->order('id', 'desc')->limit(10)->select(); if(empty($data)){ //找不到匹配的数据 }else{ //获取到了匹配的数据 }
Résumé :
Voici quelques solutions courantes expliquant pourquoi thinkphp ne peut pas obtenir de données. J'espère que cela pourra être utile à tout le monde. Bien sûr, ce n’est que la pointe de l’iceberg. Nous serons confrontés à des opérations de données plus complexes lors de l’utilisation de thinkphp. Apprendre thinkphp nécessite une compréhension et une pratique continues pour améliorer votre niveau de programmation.
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!