Maison > cadre php > Laravel > le corps du texte

modification de la base de données du framework Laravel

WBOY
Libérer: 2023-05-20 13:40:38
original
795 Les gens l'ont consulté

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');
    }
}
Copier après la connexion

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);
        }
    }
}
Copier après la connexion

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;
}
Copier après la connexion

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!