Maison > cadre php > Laravel > Comment Laravel remplit gracieusement les données SQL

Comment Laravel remplit gracieusement les données SQL

藏色散人
Libérer: 2021-01-27 08:57:36
avant
2255 Les gens l'ont consulté

Ce qui suit est la colonne Tutoriel Laravel pour présenter la méthode de Laravel pour remplir élégamment les données SQL dans Laravel. J'espère que cela sera utile aux amis dans le besoin !

Comment Laravel remplit gracieusement les données SQL

Contexte

Nous savons tous que pendant le processus de développement de Laravel, des modifications de la structure de la base de données peuvent être effectuées via migration . Le pré-remplissage des données de production de la base de données peut être effectué à l'aide de seeder.

S'il y a beaucoup de données pré-remplies et qu'elles sont générées lors du processus de développement, l'insertion en manuscrit seeder semblera trop rigide. Vous devrez peut-être copier et modifier le contenu un par un :

\DB::table('software_categories')->insert(array(
            0 =>
                array(
                    'id' => 1,
                    'name' => '操作系统',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:22:31',
                    'updated_at' => '2021-01-19 19:22:36',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            1 =>
                array(
                    'id' => 2,
                    'name' => '办公应用',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:22:53',
                    'updated_at' => '2021-01-19 19:22:53',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            2 =>
                array(
                    'id' => 3,
                    'name' => '图像处理',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:22:59',
                    'updated_at' => '2021-01-19 19:22:59',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            3 =>
                array(
                    'id' => 4,
                    'name' => '网络工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:23:04',
                    'updated_at' => '2021-01-19 19:23:10',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            4 =>
                array(
                    'id' => 5,
                    'name' => '影音工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:23:35',
                    'updated_at' => '2021-01-19 19:23:35',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            5 =>
                array(
                    'id' => 6,
                    'name' => '系统工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:23:47',
                    'updated_at' => '2021-01-19 19:23:47',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            6 =>
                array(
                    'id' => 7,
                    'name' => '设计工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:24:05',
                    'updated_at' => '2021-01-19 19:24:05',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
        ));
Copier après la connexion

S'il y a suffisamment de données, je pense que vous trouverez un bon moyen de les traiter par lots.

Option

Premièrement, je peux exporter le fichier .sql de la base de données une fois que tout le traitement des données pré-remplies est terminé pendant le processus de développement, puis importez-le sous forme de script dans l’environnement de production.

Deuxièmement, je peux structurer les données qui existent déjà dans la base de données et générer un fichier seeder, qui peut ensuite être renseigné via la commande artisan db:seed.

Les deux méthodes fonctionnent.

Les fichiers SQL sont directement importés dans

Utilisez des outils de gestion de base de données tels que HeidiSQL pour exporter les tables de base de données requises vers des .sql fichiers.

Dans Laravel, vous pouvez écrire un command et écrire le code suivant dans la logique :

DB::unprepared(file_get_contents('path/data.sql'));
Copier après la connexion

Remplissage du semoir

C'est ce que j'ai pensez que c'est la meilleure La meilleure solution, après tout, Laravel fournit un mécanisme complet de migration et de remplissage de bases de données, pourquoi ne pas en profiter ?

Exécutez composer require orangehill/iseed -vvv pour installer le package.

L'exécution de php artisan iseed table_name créera automatiquement un fichier database/seeders correspondant au nom de la table dans le répertoire seeder.

Ensuite, nous pouvons utiliser artisan db:seed --class=YourTableSeeder pour spécifier le remplissage.

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:learnku.com
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