Cet article explique comment utiliser la méthode Getdata pour interroger des données dans les objets de données ThinkPHP5. J'espère qu'il sera utile aux amis qui apprennent thinkphp !
Utilisation de la méthode Query Data Getdata de l'objet de données ThinkPHP5
Depuis le lancement du framework Tp5, il existe encore des différences avec le version précédente 3.2 Un grand changement. Personnellement, je préfère l'aspect instanciation de modèle de TP5. TP5 annule la méthode M d'instanciation automatique du modèle et utilise à la place une nouvelle méthode de modèle d'instanciation, qui se rapproche de l'orientation objet. Dans le passé, toutes les requêtes interrogées à l'aide de la méthode M dans tp3.2 étaient des tableaux, mais désormais toutes les opérations du modèle tp5 renvoient des objets. Aujourd'hui, nous allons parler des objets de données dans tp5. Que sont les objets de données ? L'objet de données ne le sait pas, mais l'objet modèle devrait le savoir. C'est l'objet obtenu après l'instanciation de la classe modèle.
Compréhension des objets modèles et des objets de données
1. Objet modèle : l'objet obtenu après l'instanciation de la classe modèle
2. : obtenu Lorsqu'il s'agit de l'objet modèle des données d'origine ;
Données originales : stockées dans l'attribut $data de l'objet modèle ($data est un tableau)
Objet de données : après tout, c'est toujours un objet modèle, des milliers Ne pense pas que ce soit un tout nouvel objet
L'opération DB renvoie un modèle de tableau. L'opération directe renvoie un objet.
Souvent, lorsque nous utilisons le modèle pour interroger des données, ce qui est renvoyé est l'instance d'objet du modèle actuel. Les méthodes get ou find renvoient l'instance d'objet du modèle actuel, mais nous ne voulons pas de cet objet. , mais je veux Les données de cet objet ["data":protected]. Ce qui suit est un exemple simple pour expliquer comment créer des données.
Créez d'abord une classe de modèle personnalisée, héritée de la classe Model
La classe Model étant une classe abstraite, sa sous-classe doit être définie avant de pouvoir être utilisée
Fichier modèle :/application/index/model/Staff.php
<?php namespace app\index\model;//导入模型类 use think\model;class Staff extends model { //自定义模型类代码}
Fichier du contrôleur : Index.php
<?php namespace app\index\controller;//导入模型类 use app\index\model\Staff;class Index { public function index(){ //1.创建模型对象$model //此时的模型对象仅仅完成了与特定数据表的绑定 //理论上讲,仍是一个没有任何数据的空模型 $model = new Staff(); //2.创建数据源,供创建数据对象使用 $data = []; $data['id'] = 1001; $data['name'] = 'Peter'; $data['age'] = 26; //3.data()方法完成前面模型对象的$data属性赋值 //使模型对象转换成数据对象,现在$model 已经是数据对象啦 $model -> data($data); //4.getData()方法获取数据对象原始数据$data $result = $model -> getData(); //5.查看数据对象原始数据:$data属性(数组类型) dump($result); }}
Ouvrez maintenant le navigateur pour exécuter la méthode d'indexation de l'index contrôleur :
//以下就是数据对象的原始数据//其实就是将数据对象中$data属性值输出array(3) { ["id"] => int(1001) ["name"] => string(5) "Peter" ["age"] => int(26)}
Maintenant, toutes les données originales sont sorties. Et si nous n'avions besoin que d'un seul élément ?
Le paramètre de la méthode getData est transmis dans la chaîne du nom de clé et l'élément de données original unique spécifié peut être obtenu
Il suffit de modifier la quatrième étape du code du contrôleur ci-dessus :
//4.getData()方法获取数据对象原始数据$data['name']的值$result = $model -> getData('name');
De cette façon, vous pouvez obtenir la valeur correspondant à la clé de nom dans les données d'origine $data :
string(5) "Peter"
Résumé :
Ceci. La méthode est très flexible et vous pouvez obtenir les données originales complètes. C’est également la méthode la plus couramment utilisée en développement, notamment dans la production de modèles, elle doit donc être maîtrisée avec compétence.
(Tutoriel recommandé : tutoriel thinkphp)
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!