«Aujourd'hui, nous allons en apprendre davantage sur les usines de Laravel 9 et Seeder avec un exemple. Avant de commencer ce projet, nous devons savoir pourquoi nous avons besoin d'usines? Lorsque nous devons ajouter un certain nombre de fausses données ou de données factices à notre projet Laravel à des fins de test, nous utilisons des usines. Nous allons maintenant donner un exemple de projet qui vous montre comment générer de fausses données pour notre projet."
Les exigences du projet sont données ci-dessous
- Mysql 5.6+
- Mariadb 10.2+
- Postgresql 9.4+
- Sqlite 3.8.3+
- SQL Server 2008+
- Php 8.1
Processus de travail du projet
- Étape 1 - Installation de Laravel 9
- Étape 2 - Création d'une base de données et connexion de la base de données avec le projet
- Étape 3- Créez un modèle pour le projet
- Étape 4- Générez des données factices pour le projet
- Étape 5- Enfin, exécutez et testez le projet
Étape 1 - Installation de Laravel 9
À la première étape, nous devons entrer dans le répertoire du projet et exécuter la commande donnée ci-dessous-
compositeur Créer un projet Laravel / Laravel Factory
cd usine
PHP Artisan Serve
Étape 2 - Création d'une base de données et connexion de la base de données avec le projet
À la deuxième étape, nous devons créer une base de données dans notre phpmyadmin; Pour ce projet d'usine, nous utiliserons MariaDB / MySQL 5.7. Maintenant, nous devons copier le lien ci-dessous et le coller dans notre navigateur, puis cliquez sur le bouton d'accueil sur le côté gauche. Puis cliquez dans les bases de données là-bas, nous trouverons la zone de base de données. Ensuite, nous devons y mettre notre nom de base de données. Nous utiliserons «Factory» comme nom de base de données.
localhost / phpmyadmin
Nous allons maintenant connecter la base de données avec notre projet-
Aller au .Fichier Env et configurer la base de données
Db_connection = mysql
Db_host = 127.0.0.1
Db_port = 3306
Db_database = usine (votre nom de base de données)
Db_username = root (votre nom d'utilisateur de base de données)
Db_password = (votre mot de passe de base de données)
Notre connexion à la base de données effectuée
Étape 3- Créez un modèle pour le projet
À la troisième étape, nous créerons un tableau appelé Dummy_data Table avec migration en utilisant ce recommandation
PHP Artisan Make: Modèle DTAXT -M
Une fois le modèle créé, alors il faut s'ouvrir
«Base de données \ Migrations \ 2022_06_28_074351_create_dtaxts_table.php "
Maintenant, ajoutez ces deux lignes là-bas
$ table-> String ('name') -> nullable ();
$ table-> String ('Détails') -> nullable ();
Voici le code
Utiliser Illuminate \ Database \ Migrations \ Migration; Utiliser Illuminate \ Database \ Schema \ Blueprint;
Utiliser illuminate \ support \ FACADES \ Schema;
Rendre une nouvelle classe prolonge la migration
/ **
* Exécutez les migrations.
*
* @return void
* /
Fonction publique UP ()
Schéma :: Create ('dtaxts', fonction (tableau Blueprint $)
$ table-> id ();
$ table-> String ('name') -> nullable ();
$ table-> String ('Détails') -> nullable ();
$ Table-> TimeStamps ();
);
/ **
* Inverser les migrations.
*
* @return void
* /
Fonction publique Down ()
Schema :: DropIfexists ('dtaxts');
;
Maintenant, besoin d'ouvrir la base de données \ usines \ dtaxtfactory.phpand ajouter le code fluide
protégé $ remplissable = [
'nom',
'détails'
]]
Voici le code de fichier
Namespace App \ Modèles;
Utiliser illuminate \ database \ eloquent \ usine \ Hasfactory;
Utiliser illuminate \ database \ eloquent \ modèle;
Class Dummy_data étend le modèle
Utiliser Hasfactory;
protégé $ remplissable = [
'nom',
'détails'
]]
Maintenant besoin de courir
PHP Artisan Migrate
Étape 4- Générez des données factices pour le projet
Maintenant, besoin de créer une usine pour notre projet avec cette ligne de commande-
PHP Artisan Mak
Maintenant, allez à Factory \ Factory \ Database \ Factories \ DtaxtFactory.php
Ajouter cette ligne
'name' => $ this-> faker-> name (),
'Détails' => $ this-> Faker-> text (),
Voici le code
Namespace Database \ usines;
Utiliser illuminate \ database \ elogent \ usine \ factory;
/ **
* @Extend
* /
Class ModmyFactory étend l'usine
/ **
* Définissez l'état par défaut du modèle.
*
* @return Array
* /
Définition de la fonction publique ()
retour [
'name' => $ this-> faker-> name (),
'Détails' => $ this-> Faker-> text (),
]]
Étape 5- Enfin, exécutez et testez le projet
À l'étape cinq, notre projet est presque prêt; maintenant besoin de jouer
Avant de faire une félicitation, nous devons exécuter ceci
Puis courez
puis taper
>> dtAxt :: factory () -> count (10) -> create ();
Résultat -
PS C: \ Users \ User \ Documents \ GitHub \ -Laravel-Factory-Example> PHP Artisan Tinker
Shell psy v0.11.5 (Php 8.1.3 - CLI) par Justin Hileman
>>> dtaxt :: factory () -> count (10) -> create ();
=> Illuminer \ database \ elogent \ collection # 3570
tous: [
App \ Modèles \ DTAXT # 3574
Nom: "Mme. Lura Hirthe ",
Détails: "DeseruntssitrepelendusofficIisfacere. Nihil Sed Office AB id. Dolores Quia Error Voluptatibusedrei.",
Updated_at: "2022-07-04 12:47:02",
Created_at: "2022-07-04 12:47:02",
ID: 31,
,
App \ modèles \ dtaxt # 3572
Nom: "Dulce Rogahn",
Détails: "Id Voluptas ipsum AliquidShesidi AB. AutisCucuque qui aliquidomnisincidunt. Qui et autem minima verritatis. Corpris Magniques Error Aut Labore Rerum.",
Updated_at: "2022-07-04 12:47:03",
Created_at: "2022-07-04 12:47:03",
ID: 32,
,
App \ Modèles \ DTAXT # 3575
Nom: "M. Morris Bahringer ",
Détails: "Qui eum qui unde Nemo. Ad aliquamquiautquiacumque.",
Updated_at: "2022-07-04 12:47:03",
Created_at: "2022-07-04 12:47:03",
ID: 33,
,
App \ Modèles \ DTAXT # 3576
Nom: "Francisco Bechtelar",
Détails: "Sapiente Rem et Earum et. Assumenda id nateateneturssimus sed. Autlaborumaspernaturoptioconsebuntur.",
Updated_at: "2022-07-04 12:47:03",
Created_at: "2022-07-04 12:47:03",
ID: 34,
,
App \ Modèles \ DTAXT # 3577
Nom: "Sadye Turcotte",
Détails: "Sauluri in sit sed nullavoluptemnecessetatibus nobis omnis. Sint Autem Dignissimospraesentiumadipisci Hic Sint. Sed eiusdebiti nihil quaeratexplicabopariatur.",
Updated_at: "2022-07-04 12:47:03",
Created_at: "2022-07-04 12:47:03",
ID: 35,
,
Created_at: "2022-07-04 12:47:03",
ID: 39,
, App \ modèles \ dtaxt # 3582
Nom: "Celestino Strosin",
Détails: "Nauluri nihil nostrum cumque facilis Autem suscipit. Nam Enimquamducimuscorrupti culpa Magni. Offices sit quiarationeenIm Sit voluptates.",
Updated_at: "2022-07-04 12:47:03",
Created_at: "2022-07-04 12:47:03",
ID: 40,
,
]],
>>>
Conclusion
Enfin, notre projet a été achevé avec succès. J'espère que ce projet d'usine aidera l'apprenant à comprendre l'usine Laravel 9. En utilisant ce projet, vous pouvez créer et importer des données factice à votre projet.