Création d'une table pour les messages

Dans ce tutoriel nous allons nettoyer notre code, ainsi que créer notre nouvelle table et notre nouveau modèle Eloquent pour les futurs messages.

Suppression de la vue welcome

La vue welcome n'est pas très utile. Je vais donc supprimer cette route et transformer la route /utilisateurs pour juste /.

Route::get('/', 'UtilisateursController@liste');

Je vais également supprimer la vue ressources/views/welcome.blade.php qui n'est plus utile.

Ajout des classes CSS pour la vue utilisateurs.blade.php

Suite à notre passage à Bulma, nous n'avons pas ajouté les classes CSS pour rendre le tout un peu plus propre. Je vais donc modifier la vue ressources/views/utilisateurs.blade.php :

@extends('layout')

@section('contenu')
    <div class="section">
        <h1 class="title is-1">Bienvenue !</h1>

        <ul>
            @foreach($utilisateurs as $utilisateur)
                <li>{{ $utilisateur->email }}</li>
            @endforeach
        </ul>
    </div>
@endsection

Création de lien vers les profils

Nous pouvons également ajouter des liens vers chaque utilisateur :

@extends('layout')

@section('contenu')
    <div class="section">
        <h1 class="title is-1">Bienvenue !</h1>

        <ul>
            @foreach($utilisateurs as $utilisateur)
                <li>
                    <a href="/{{ $utilisateur->email }}">{{ $utilisateur->email }}</a>
                </li>
            @endforeach
        </ul>
    </div>

@endsection

Création du modèle avec une migration

Pour créer un modèle et une migration nous pouvons utiliser la commande php artisan make:model. L'option -m permet de dire à Laravel de créer une migration en plus du modèle.

php artisan make:model Message -m

Nous pouvons modifier la nouvelle migration créé pour rajouter deux colonnes, une contenant l'indentifiant de l'utilisateur ayant créé le message et une pour le contenu.

Schema::create('messages', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('utilisateur_id');
    $table->text('contenu');
    $table->timestamps();
});

Puis nous pouvons exécuter cette nouvelle migration grâce à php artisan migrate.