Maison >cadre php >Laravel >modification de la base de données du framework Laravel

modification de la base de données du framework Laravel

WBOY
WBOYoriginal
2023-05-20 13:40:38847parcourir

Laravel est un framework de développement d'applications Web PHP très populaire qui fournit de nombreuses fonctionnalités et outils pratiques pour simplifier le processus de modification de base de données. Dans cet article, nous explorerons les aspects liés à la modification de base de données du framework Laravel.

  1. Migration de base de données

Dans le framework Laravel, la migration de base de données est un outil pratique pour transférer la structure d'une base de données d'une version à une autre. En utilisant les migrations, vous pouvez facilement créer et modifier des tables, ajouter ou supprimer des colonnes, modifier des index et des contraintes, et bien plus encore. Les fichiers de migration sont stockés dans le répertoire "database/migrations". Chaque fichier de migration représente une opération de migration de base de données et contient les méthodes « up » et « down » pour modifier la base de données. En exécutant la commande "php artisan migrate", toutes les opérations de migration en suspens seront effectuées automatiquement.

Ce qui suit est un exemple de fichier de migration pour créer la table « utilisateurs » :

use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Le fichier de migration crée une table « utilisateurs » en utilisant les méthodes statiques de la classe « Schéma », y compris l'ID d'incrémentation automatique, le nom et l'adresse e-mail unique. , Colonnes telles que mot de passe et horodatage. Dans la méthode "down", la table "users" est supprimée.

  1. Remplissage de données

Dans le framework Laravel, le remplissage de données est le processus d'ajout de données de test à la base de données. Utilisez des populations de données pour simplifier le processus de test et de démonstration des opérations de base de données. Les fichiers de remplissage de données sont stockés dans le répertoire "database/seeds". Exécutez la commande "php artisan db:seed" pour remplir les données.

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use AppUser;

class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->delete();

        $users = array(
            array(
                'name' => 'admin',
                'email' => 'admin@admin.com',
                'password' => Hash::make('password'),
            ),
            array(
                'name' => 'user',
                'email' => 'user@user.com',
                'password' => Hash::make('password'),
            ),
        );

        foreach ($users as $user) {
            User::create($user);
        }
    }
}

Ce fichier crée deux utilisateurs et les ajoute à la base de données. Notez que la colonne "mot de passe" est chiffrée à l'aide de la classe "Hash" de Laravel. Après avoir exécuté la commande "php artisan db:seed", la table "users" contiendra les enregistrements des deux utilisateurs.

  1. Relations entre modèles

Dans le framework Laravel, vous pouvez facilement accéder aux données associées dans la base de données en créant des associations entre les modèles. Il existe trois types de relations : un à un, un à plusieurs et plusieurs à plusieurs. Après avoir défini une relation dans un modèle, vous pouvez accéder aux données associées, tout comme au modèle lui-même.

Par exemple, si vous disposez d'un modèle "Utilisateur" et d'un modèle "Post", vous pouvez définir une relation un-à-plusieurs dans le modèle "Utilisateur" et accéder facilement à toutes les publications créées par l'utilisateur :

class User extends Model
{
    /**
     * Get the posts for the user.
     */
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

$user = User::find(1);

foreach ($user->posts as $post) {
    echo $post->title;
}

Ceci le code commence par Récupérer un utilisateur de la base de données, puis accéder à toutes les publications créées par cet utilisateur via l'attribut "posts" de l'utilisateur. Vous pouvez définir une relation inverse dans le modèle "Post" pour accéder facilement aux informations de l'utilisateur qui l'a créé lors de l'accès à une publication.

Résumé

Laravel fournit de nombreux outils et fonctions pratiques pour simplifier le processus de modification de la base de données. En utilisant les migrations, vous pouvez facilement créer et modifier des tables, ajouter ou supprimer des colonnes, modifier des index et des contraintes, et bien plus encore. Utilisez des populations de données pour simplifier le processus de test et de démonstration des opérations de base de données. En créant des associations entre les modèles, vous pouvez facilement accéder aux données associées dans la base de données. Avant de commencer à modifier la base de données, assurez-vous de sauvegarder les données importantes et procédez avec prudence.

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