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

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é

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.

Dernière révision le 18 août 2017
Merci de partager !

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

Soumettre