ThinkPHP est un cadre de développement Web open source basé sur PHP, qui a été largement utilisé dans le développement d'applications de niveau d'entreprise. Dans le développement quotidien, en plus des opérations de requête de base de base, nous devons parfois également effectuer un traitement secondaire des résultats de la requête, tels que l'ajout de champs dynamiquement aux résultats de la requête. Cet article présentera comment mettre en œuvre cette exigence dans ThinkPhp.
La requête de données dans ThinkPhp est généralement implémentée à l'aide d'un modèle, et la base de données peut être facilement exploitée en appelant les méthodes de classe de modèle. Voici un exemple de requête typique:
php think make:model User
La commande ci-dessus générera un fichier de classe de modèle nommé user.php dans le répertoire APP / Modèle .
Interroger les données à l'aide d'un modèle est très simple. Voici un exemple de code qui montre comment utiliser la méthode de sélection pour obtenir toutes les données utilisateur:
$users = User::select();
foreach ($users as $user) {
echo $user->name;
}
Ce code obtient toutes les données de la table des utilisateurs via la méthode utilisateur :: SELECT () et utilise la boucle FOREEAC pour sortir le nom de chaque utilisateur.
Si vous devez ajouter des champs supplémentaires aux résultats de la requête, tels qu'un champ calculé qui n'est pas dans la base de données, il peut être implémenté via la méthode annexe du modèle. Voici les usages spécifiques:
$users = User::select();
foreach ($users as $user) {
$user->append(['age']);
echo $user->name . ' - ' . $user->age;
}
Dans cet exemple, $ user-> ajout (['Âge']) est appelé, ce qui signifie que nous voulons ajouter un champ nommé Age lors de la sortie. Ce champ peut être défini comme un accessoire (méthode GetageAttr ) dans la classe de modèle et est généré dynamiquement.
Cet article présente comment ajouter des champs personnalisés après avoir effectué des requêtes de données dans le framework ThinkPHP. En utilisant la méthode d'ajout , la structure des données des résultats de la requête peut être étendue de manière flexible et la flexibilité de la logique métier peut être améliorée. Cette fonction convient particulièrement aux scénarios d'application qui nécessitent un affichage de champ dynamique, tel que le système de gestion d'arrière-plan ou la sortie de données d'interface.