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.
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 :
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.
Site fièrement hébergé chez A2 Hosting.