Maison > cadre php > PensezPHP > Comment utiliser la fonction ORM de ThinkPHP6

Comment utiliser la fonction ORM de ThinkPHP6

WBOY
Libérer: 2023-06-20 15:12:26
original
1823 Les gens l'ont consulté

ThinkPHP6 est un framework de développement PHP performant, simple et facile à utiliser qui adopte une nouvelle conception architecturale et des fonctionnalités ORM. Cette fonctionnalité ORM peut vous aider à gérer et manipuler facilement les bases de données dans votre application, et permettre un développement et des modifications plus rapides grâce à un code simple. Dans cet article, nous apprendrons comment utiliser les fonctionnalités ORM de ThinkPHP6 pour mieux créer et maintenir des applications.

  1. Configurer la connexion à la base de données

Tout d'abord, nous devons configurer la connexion à la base de données dans le fichier de configuration. Dans le fichier de configuration par défaut de ThinkPHP6, la configuration de la base de données est enregistrée dans le fichier config/database.php.

// config/database.php
return [
    'type'            => 'mysql',
    'hostname'        => 'localhost',
    'database'        => 'testdb',
    'username'        => 'root',
    'password'        => '',
    'hostport'        => '',
    // 其他配置参数
];
Copier après la connexion

Dans ce fichier de configuration, nous pouvons définir les paramètres requis pour la connexion. Dans cet exemple, la base de données MySQL est utilisée et les paramètres nécessaires tels que le nom d'utilisateur et le mot de passe sont définis.

  1. Créer une classe de modèle

La classe de modèle est la classe de base pour la gestion et l'exploitation des données. Nous devons créer une nouvelle classe de modèle à utiliser. Fonction ORM. Dans ThinkPHP6, vous pouvez créer une classe de modèle en exécutant la commande comme suit :

php think make:model User
Copier après la connexion

L'exécution de la commande ci-dessus crée une classe de modèle nommée "Utilisateur". Vous pouvez également créer une classe de modèle avec des fonctionnalités de modèle et de validateur à l'aide des options "-m" et "-r" lors de l'exécution de la commande. Ces fonctions peuvent être utilisées pour générer du code généré automatiquement tel que des formulaires et des validateurs de formulaires.

php think make:model User -m -r
Copier après la connexion
  1. Définir le modèle

Ensuite, nous pouvons définir les propriétés et méthodes correspondant à la table de base de données dans la classe modèle. Dans l'exemple suivant, nous définissons une classe modèle correspondant à la table "users".

// app/model/User.php
namespace appmodel;

use thinkModel;

class User extends Model
{
    // 数据表主键
    protected $pk = 'id';
    // 数据表名(不含前缀)
    protected $name = 'users';
    // 开启时间戳记录
    protected $autoWriteTimestamp = true;
    // 定义非数据库字段
    protected $field = ['full_name', 'email'];
    // 远程一对多关联
    public function jobs()
    {
        return $this->hasManyThrough('Job', 'Department');
    }
}
Copier après la connexion

Dans le code ci-dessus, nous définissons les attributs de base de la classe de modèle, tels que la clé primaire, le nom de la table et l'enregistrement d'horodatage, etc. Nous pouvons également définir des champs hors base de données à utiliser dans le modèle. Enfin, nous définissons une méthode d'association un-à-plusieurs à distance qui établit une nouvelle association un-à-plusieurs à distance entre les « tâches » et les « utilisateurs ».

  1. Interroger des données

Une fois que nous avons défini le modèle, nous pouvons l'utiliser pour interroger des données. Voici quelques méthodes de requête couramment utilisées dans ThinkPHP6.

  • Interroger un seul enregistrement
$user = User::find(1);
Copier après la connexion

Le code ci-dessus interrogera l'enregistrement utilisateur avec l'ID 1.

  • Interroger plusieurs enregistrements
$users = User::select([1, 2, 3]);
Copier après la connexion

Le code ci-dessus interroge les enregistrements utilisateur avec les ID 1, 2 et 3.

$users = User::where('name', 'like', 'Tom%')->order('name', 'desc')->limit(10)->select();
Copier après la connexion

Le code ci-dessus interroge les enregistrements utilisateur dont les noms commencent par "Tom", les trie par ordre décroissant par nom et limite le nombre d'enregistrements renvoyés à 10.

  • Statistiques de requête
$count = User::count();
Copier après la connexion

Le code ci-dessus renverra le nombre dans la table "utilisateurs".

$sum = User::where('age', '>=', 18)->sum('score');
Copier après la connexion

Le code ci-dessus renverra le score total des utilisateurs de 18 ans ou plus.

  1. Mettre à jour et insérer des données

Pour mettre à jour et insérer des données, nous pouvons utiliser les propriétés et méthodes de l'instance de modèle.

  • Mettre à jour l'enregistrement
$user = User::find(1);
$user->name = 'John Doe';
$user->save();
Copier après la connexion

Le code ci-dessus mettra à jour le nom de l'utilisateur avec l'ID 1 en "John Doe".

  • Insérer un enregistrement
$newUser = new User;
$newUser->name = 'Jane Doe';
$newUser->email = 'jane@example.com';
$newUser->save();
Copier après la connexion

Le code ci-dessus créera un nouvel enregistrement utilisateur.

  1. Suppression de données

La suppression d'enregistrements est très simple à l'aide de classes de modèles. Nous pouvons appeler la méthode "delete()" du modèle pour supprimer l'enregistrement.

$user = User::find(1);
$user->delete();
Copier après la connexion

Le code ci-dessus supprimera l'enregistrement utilisateur avec l'ID 1.

Summary

ORM est une technologie qui facilite la gestion et le fonctionnement des bases de données. La fonctionnalité ORM de ThinkPHP6 facilite cette tâche pour les développeurs. En configurant les connexions aux bases de données, en créant des classes de modèles, en interrogeant les données, en mettant à jour et en insérant des données et en supprimant des données, nous pouvons développer et maintenir des applications plus rapidement et plus facilement.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal