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 !
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', ), ));
S'il y a suffisamment de données, je pense que vous trouverez un bon moyen de les traiter par lots.
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.
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'));
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!