Table des matières
Générer automatiquement des modèles à l'aide de GII
Créer un fichier modèle manuellement
Questions et précautions fréquemment posées
Maison cadre php YII Comment créer un nouveau modèle dans YII?

Comment créer un nouveau modèle dans YII?

Jul 14, 2025 am 12:55 AM
yii Modèle

Il existe deux façons principales de créer des modèles dans le framework YII: 1. Utilisez GII pour générer automatiquement des modèles, et vous pouvez générer des classes de modèles et du code crud en activant les outils GII et en accédant à son interface pour entrer les noms de table et les noms de classe; 2. Créez manuellement un fichier de modèle, créez un nouveau fichier PHP dans les modèles / répertoire et définissez une classe héritée à partir de yii \ db \ activeRecord, et implémentez TableName (), Rule (), AttributeLabels () et d'autres méthodes; De plus, vous devez faire attention aux spécifications de dénomination du modèle, aux champs de remplissage automatique, aux emplacements du modèle et à la différence entre les modèles AR et non AR, et choisir la méthode appropriée en fonction des besoins réels.

Comment créer un nouveau modèle dans YII?

La création d'un modèle dans le cadre YII est en fait un processus très direct, surtout après avoir utilisé l'outil GII fourni par YII. Si vous avez configuré la connexion de la base de données et comprendre la structure MVC de base, il sera très facile de créer un nouveau modèle.

Les méthodes courantes suivantes peuvent vous aider à créer rapidement un modèle, en particulier adapté aux débutants ou aux projets de petite et moyenne taille.


Générer automatiquement des modèles à l'aide de GII

Le propre outil de génération de code de Yii GII est l'un des moyens les plus recommandés. Il peut générer automatiquement des classes de modèles et du code crud en fonction de la structure de votre table de base de données.

Les étapes de fonctionnement sont les suivantes:

  • Assurez-vous que vous avez activé GII dans config/web.php :

     'bootstrap' => ['gii'],
    'modules' => [
        'gii' => [
            'class' => 'yii \ gii \ module',
        ],
    ],
  • Visiter /index.php?r=gii ou définir l'URL et l'accès /gii après la réécriture

  • Cliquez sur "Générateur de modèles"

  • Entrez le nom de la table de données (par exemple: user ) et le nom de la classe de modèle (par exemple: User )

  • Cliquez sur "Aperçu" et "Générer"

Cela générera rapidement une classe de modèle de base, y compris les définitions d'attribut, les règles de vérification, les relations d'association, etc.


Créer un fichier modèle manuellement

Si vous ne souhaitez pas utiliser GII ou que vous souhaitez mieux comprendre la structure du modèle, vous pouvez également créer un modèle manuellement.

  1. Créez un nouveau fichier PHP dans models/ répertoire, tels que Post.php
  2. Définissez une classe héritée de yii\db\ActiveRecord :
 Namespace App \ Modèles;

Utilisez yii \ db \ activeRecord;

Le poste de classe étend ActiveRecord
{
    Public Static Function TableName ()
    {
        retourner 'post'; // Nom de la table de la base de données}
}
  1. Si vous devez vérifier les règles, les balises, les comportements, etc., vous pouvez continuer à ajouter des méthodes, telles que:
 Règles de fonction publique ()
{
    Retour [
        [['title', 'contenu'], 'requis'],
        ['title', 'string', 'max' => 255],
    ]]
}

fonction publique attributeLabels ()
{
    Retour [
        'id' => 'id',
        'title' => 'title',
        'contenu' => 'contenu',
    ]]
}

Cette méthode est plus adaptée aux développeurs qui ont une certaine compréhension du cadre ou lorsque vous souhaitez contrôler soigneusement la logique du modèle.


Questions et précautions fréquemment posées

  • Spécification de dénomination du modèle : Habituellement, le nom de la classe de modèle est une grande nomenclature de chameaux (comme UserProfile ), et le nom de la table correspondant est minuscule et souligne (comme user_profile )
  • Remplit automatiquement les champs : si votre table de données dispose de champs tels que created_at et updated_at , il est recommandé d'utiliser TimestampBehavior
  • Emplacement du modèle : Par défaut, il est placé dans models/ répertoire, mais vous pouvez ajuster le chemin de stockage via l'espace de noms
  • La différence entre les modèles AR et non AR : ActiveRecord est un modèle utilisé pour l'interaction de la base de données. Si vous faites simplement une vérification de formulaire ou une logique métier, vous pouvez utiliser Model à la place.

Fondamentalement, c'est tout. La création d'un modèle lui-même n'est pas compliquée, mais vous devez choisir la méthode appropriée en fonction des besoins réels. GII fait gagner beaucoup de temps, tandis que l'écriture manuelle est plus flexible et contrôlable.

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 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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Guide de construction Mejiro Ryan | Uma musume joli derby
1 Il y a quelques mois By Jack chen
Rimworld Odyssey Comment pêcher
4 Il y a quelques semaines By Jack chen
Comment dépanner une erreur 'Connexion refusée'?
1 Il y a quelques mois By 百草

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1505
276
KAN, qui remplace MLP, a été étendu à la convolution par des projets open source KAN, qui remplace MLP, a été étendu à la convolution par des projets open source Jun 01, 2024 pm 10:03 PM

Plus tôt ce mois-ci, des chercheurs du MIT et d'autres institutions ont proposé une alternative très prometteuse au MLP – KAN. KAN surpasse MLP en termes de précision et d’interprétabilité. Et il peut surpasser le MLP fonctionnant avec un plus grand nombre de paramètres avec un très petit nombre de paramètres. Par exemple, les auteurs ont déclaré avoir utilisé KAN pour reproduire les résultats de DeepMind avec un réseau plus petit et un degré d'automatisation plus élevé. Plus précisément, le MLP de DeepMind compte environ 300 000 paramètres, tandis que le KAN n'en compte qu'environ 200. KAN a une base mathématique solide comme MLP est basé sur le théorème d'approximation universelle, tandis que KAN est basé sur le théorème de représentation de Kolmogorov-Arnold. Comme le montre la figure ci-dessous, KAN a

Yolov10 : explication détaillée, déploiement et application en un seul endroit ! Yolov10 : explication détaillée, déploiement et application en un seul endroit ! Jun 07, 2024 pm 12:05 PM

1. Introduction Au cours des dernières années, les YOLO sont devenus le paradigme dominant dans le domaine de la détection d'objets en temps réel en raison de leur équilibre efficace entre le coût de calcul et les performances de détection. Les chercheurs ont exploré la conception architecturale de YOLO, les objectifs d'optimisation, les stratégies d'expansion des données, etc., et ont réalisé des progrès significatifs. Dans le même temps, le recours à la suppression non maximale (NMS) pour le post-traitement entrave le déploiement de bout en bout de YOLO et affecte négativement la latence d'inférence. Dans les YOLO, la conception de divers composants manque d’une inspection complète et approfondie, ce qui entraîne une redondance informatique importante et limite les capacités du modèle. Il offre une efficacité sous-optimale et un potentiel d’amélioration des performances relativement important. Dans ce travail, l'objectif est d'améliorer encore les limites d'efficacité des performances de YOLO à la fois en post-traitement et en architecture de modèle. à cette fin

Aucune donnée OpenAI requise, rejoignez la liste des grands modèles de code ! UIUC publie StarCoder-15B-Instruct Aucune donnée OpenAI requise, rejoignez la liste des grands modèles de code ! UIUC publie StarCoder-15B-Instruct Jun 13, 2024 pm 01:59 PM

À la pointe de la technologie logicielle, le groupe de l'UIUC Zhang Lingming, en collaboration avec des chercheurs de l'organisation BigCode, a récemment annoncé le modèle de grand code StarCoder2-15B-Instruct. Cette réalisation innovante a permis une percée significative dans les tâches de génération de code, dépassant avec succès CodeLlama-70B-Instruct et atteignant le sommet de la liste des performances de génération de code. Le caractère unique de StarCoder2-15B-Instruct réside dans sa stratégie d'auto-alignement pur. L'ensemble du processus de formation est ouvert, transparent et complètement autonome et contrôlable. Le modèle génère des milliers d'instructions via StarCoder2-15B en réponse au réglage fin du modèle de base StarCoder-15B sans recourir à des annotations manuelles coûteuses.

L'Université Tsinghua a pris le relais et YOLOv10 est sorti : les performances ont été grandement améliorées et il figurait sur la hot list de GitHub L'Université Tsinghua a pris le relais et YOLOv10 est sorti : les performances ont été grandement améliorées et il figurait sur la hot list de GitHub Jun 06, 2024 pm 12:20 PM

La série de référence YOLO de systèmes de détection de cibles a une fois de plus reçu une mise à niveau majeure. Depuis la sortie de YOLOv9 en février de cette année, le relais de la série YOLO (YouOnlyLookOnce) a été passé entre les mains de chercheurs de l'Université Tsinghua. Le week-end dernier, la nouvelle du lancement de YOLOv10 a attiré l'attention de la communauté IA. Il est considéré comme un cadre révolutionnaire dans le domaine de la vision par ordinateur et est connu pour ses capacités de détection d'objets de bout en bout en temps réel, poursuivant l'héritage de la série YOLO en fournissant une solution puissante alliant efficacité et précision. Adresse de l'article : https://arxiv.org/pdf/2405.14458 Adresse du projet : https://github.com/THU-MIG/yo

Rapport technique Google Gemini 1.5 : prouvez facilement les questions de l'Olympiade mathématique, la version Flash est 5 fois plus rapide que GPT-4 Turbo Rapport technique Google Gemini 1.5 : prouvez facilement les questions de l'Olympiade mathématique, la version Flash est 5 fois plus rapide que GPT-4 Turbo Jun 13, 2024 pm 01:52 PM

En février de cette année, Google a lancé le grand modèle multimodal Gemini 1.5, qui a considérablement amélioré les performances et la vitesse grâce à l'ingénierie et à l'optimisation de l'infrastructure, à l'architecture MoE et à d'autres stratégies. Avec un contexte plus long, des capacités de raisonnement plus fortes et une meilleure gestion du contenu multimodal. Ce vendredi, Google DeepMind a officiellement publié le rapport technique de Gemini 1.5, qui couvre la version Flash et d'autres mises à jour récentes. Le document fait 153 pages. Lien du rapport technique : https://storage.googleapis.com/deepmind-media/gemini/gemini_v1_5_report.pdf Dans ce rapport, Google présente Gemini1

Reconstruisez modulairement LLaVA Pour remplacer les composants, ajoutez simplement 1 à 2 fichiers. L'usine open source TinyLLaVA est ici. Reconstruisez modulairement LLaVA Pour remplacer les composants, ajoutez simplement 1 à 2 fichiers. L'usine open source TinyLLaVA est ici. Jun 08, 2024 pm 09:21 PM

Le projet TinyLLaVA+ est créé conjointement par l'équipe du professeur Wu Ji du Laboratoire de traitement des signaux multimédias et de l'information intelligente (MSIIP) du Département d'électronique de l'Université Tsinghua et l'équipe du professeur Huang Lei de l'École d'intelligence artificielle de l'Université de Beihang. Le laboratoire MSIIP de l'Université Tsinghua s'engage depuis longtemps dans des domaines de recherche tels que les soins médicaux intelligents, le traitement du langage naturel et la découverte de connaissances, ainsi que la multimodalité. L'équipe de Beijing Airlines est engagée depuis longtemps dans des domaines de recherche tels que l'apprentissage profond, la multimodalité et la vision par ordinateur. L'objectif du projet TinyLLaVA+ est de développer un petit assistant intelligent multilingue doté de capacités multimodales telles que la compréhension du langage, les questions et réponses et le dialogue. L'équipe du projet exploitera pleinement leurs avantages respectifs, surmontera conjointement les problèmes techniques et réalisera la conception et le développement d'assistants intelligents. Cela offrira des opportunités de soins médicaux intelligents, de traitement du langage naturel et de connaissances.

Les différents ensembles de données ont-ils des lois d'échelle différentes ? Et vous pouvez le prédire avec un algorithme de compression Les différents ensembles de données ont-ils des lois d'échelle différentes ? Et vous pouvez le prédire avec un algorithme de compression Jun 07, 2024 pm 05:51 PM

De manière générale, plus il faut de calculs pour entraîner un réseau de neurones, meilleures sont ses performances. Lors de la mise à l'échelle d'un calcul, une décision doit être prise : augmenter le nombre de paramètres du modèle ou augmenter la taille de l'ensemble de données : deux facteurs qui doivent être pris en compte dans un budget de calcul fixe. L'avantage de l'augmentation du nombre de paramètres du modèle est que cela peut améliorer la complexité et la capacité d'expression du modèle, permettant ainsi de mieux ajuster les données d'entraînement. Cependant, un trop grand nombre de paramètres peut conduire à un surajustement, ce qui rend le modèle peu performant sur des données invisibles. D’un autre côté, l’augmentation de la taille de l’ensemble de données peut améliorer la capacité de généralisation du modèle et réduire les problèmes de surajustement. Laissez-nous vous le dire : tant que vous allouez les paramètres et les données de manière appropriée, vous pouvez maximiser les performances dans le cadre d'un budget informatique fixe. De nombreuses études antérieures ont exploré la mise à l'échelle des modèles de langage neuronal.

En mettant la Terre entière dans un réseau neuronal, l'équipe de l'Université de Beihang a lancé un modèle mondial de génération d'images de télédétection En mettant la Terre entière dans un réseau neuronal, l'équipe de l'Université de Beihang a lancé un modèle mondial de génération d'images de télédétection Jun 09, 2024 pm 09:56 PM

L'équipe de recherche de Beihang a utilisé un modèle de diffusion pour « reproduire » la Terre ? Partout dans le monde, le modèle peut générer des images de télédétection de plusieurs résolutions, créant ainsi des « scènes parallèles » riches et diverses. De plus, des caractéristiques géographiques complexes telles que le terrain, le climat et la végétation ont toutes été prises en compte. Inspirée par Google Earth, l'équipe de recherche de Beihang a « chargé » des images de télédétection satellitaire de la Terre entière dans un réseau neuronal profond depuis une perspective aérienne. Sur la base d'un tel réseau, l'équipe a construit MetaEarth, un modèle global de génération visuelle descendante. MetaEarth possède 600 millions de paramètres et peut générer des images de télédétection avec de multiples résolutions, illimitées et couvrant n’importe quel emplacement géographique dans le monde. Par rapport aux recherches précédentes, le modèle mondial de génération d’images de télédétection a

See all articles