Formation PUB030 : Laravel, 2019 Création de la base de données et de ses tables

12.5 Créer une vue MySQL à l'aide des fichiers de migration


Dans le monde des bases de données, une vue est une table virtuelle créée à partir de requêtes sur des tables existantes.

▼Publicité Le texte se poursuit plus bas

La création d'une vue permet notamment de visualiser plus facilement les données obtenues par une requête complexe. La requête sera entrée une fois pour toutes dans la vue. Il sera ensuite possible de consulter les données de la vue comme s'il s'agissait d'une table.

La création d'une vue sous Laravel passe par le même processus que la création d'une table : le fichier de migration.

Console Vagrant SSH

php artisan make:migration create_unevue_view

Dans la méthode up(), on utilisera un DB::statement() afin d'y coder l'instruction CREATE VIEW. Dans le down(), on fera un DROP VIEW.

Ex :

Fichier de migration (PHP)

class CreateUnevueView extends Migration

{

    public function up()

    {

        DB::statement("CREATE VIEW vue_produits_categories AS SELECT produits.id AS produit_id, produits.code AS produit_code ...");

    }

 

    public function down()

    {

        DB::statement("DROP VIEW vue_produits_categories");

    }

}

Attention : Si vous créez une vue avec SELECT *, vous devez savoir que les champs des tables seront ajoutés de façon définitive dans la vue. Si des champs sont ajoutés par la suite dans une des tables, ces champs ne seront pas ajoutés à la vue.

Pour éviter toute confusion, il est préférable de lister les champs qui feront partie de la vue.

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 18 août 2017
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre