Maison  >  Article  >  cadre php  >  Comment modifier le type de champ dans Laravel

Comment modifier le type de champ dans Laravel

PHPz
PHPzoriginal
2023-04-19 10:07:551034parcourir

Ces dernières années, Laravel est devenu un leader dans le domaine du développement Web, et de plus en plus de personnes sont prêtes à l'utiliser pour commencer à développer leurs propres projets. Parce que Laravel est très flexible et évolutif. Cependant, lors de l'exploitation de la base de données, nous devons souvent modifier la structure de la table, notamment les types de champs, les tailles, les valeurs par défaut, etc. Dans cet article, nous verrons comment modifier les types de champs dans Laravel 5.4.

Tout d’abord, nous devons comprendre les bases de Laravel Schema Builder. Schema Builder est un composant de Laravel qui offre un moyen simple de créer et de modifier la structure des tables de base de données. Ici, nous allons démontrer en utilisant MySQL comme exemple.

Supposons que nous ayons une table utilisateur (users) avec un champ nommé "age", son type de données est un type entier (INT), et maintenant nous devons le modifier en un type chaîne (VARCHAR).

Étape 1 : Créer un fichier de migration

Le fichier de migration de Laravel est le « plan » de la structure des tables dans la base de données. Nous devons créer un nouveau fichier de migration pour terminer la modification du type de champ.

À l'aide de l'outil de ligne de commande Artisan, nous pouvons saisir la commande suivante :

php artisan make:migration modify_users_table --table=users

Cette commande créera un nouveau fichier de migration nommé "modify_users_table". Nous devons ouvrir le fichier et utiliser le code suivant pour écrire la logique de migration dans la méthode up :

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class ModifyUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('age')->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->integer('age')->change();
        });
    }
}

Dans ce fichier de migration, nous utilisons la méthode Schema::table pour faire fonctionner la table des utilisateurs. L'objet Blueprint est ensuite utilisé pour créer la définition de la nouvelle structure. Ensuite, nous utilisons la méthode change() pour modifier le type du champ "age". Cette méthode indiquera à Laravel de définir le type de données du champ "age" sur un type de chaîne.

Il convient de noter que si nous ajoutons plusieurs champs dans le même fichier de migration, nous pouvons utiliser plusieurs méthodes change() pour modifier leurs types de données un par un.

Étape 2 : Exécuter le fichier de migration

Maintenant que nous avons écrit le fichier de migration, nous pouvons exécuter la commande suivante pour laisser Laravel traiter les modifications apportées à la table des utilisateurs en fonction du fichier de migration.

php artisan migrate

Cette commande exécutera tous les fichiers de migration qui n'ont pas encore été exécutés et les enregistrera dans la table des fichiers de migration. Ainsi, si votre migration est la première ou la seule en cours d’exécution, vous n’avez pas besoin d’utiliser l’option --pretend.

Étape 3 : Vérification

Une fois la migration réussie, nous pouvons accéder à la base de données pour afficher la structure de la table des utilisateurs afin de nous assurer que les champs de type de données que nous avons modifiés ont pris effet. Sur le serveur MySQL, vous pouvez utiliser la commande suivante :

DESCRIBE users;

Cette commande affichera la structure de la table des utilisateurs et les champs des types de données que nous avons modifiés dans le fichier de migration. Si la modification réussit, vous devriez voir que son type a été défini sur le type VARCHAR.

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(10)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | NO   |     | NULL    |                |
| age   | varchar(255) | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Résumé

Dans Laravel, changer le type de données d'un champ est une chose très simple. Il nous suffit d'écrire un nouveau fichier de migration et d'utiliser l'API de Schema Builder pour le faire facilement. Si vous souhaitez modifier d'autres aspects de la structure de la table, vous pouvez facilement le faire en modifiant le fichier de migration. Bref, Laravel est vraiment un outil puissant en développement web. Qu'il s'agisse de modifier la structure des tables ou d'implémenter d'autres fonctions, il peut vous faciliter la tâche.

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