我应该避免在Laravel项目中使用数据库视图吗?

Maintaining database views in mysql is sometimes cumbersome. When you change a referred table you have to alter the table and there is no clean way to do that in migrations (DB::unprepared()). I guess using query scopes in models is more maintainable. Isn't it? Does it has negative effect on the performance.

I don't know how big your project is and I don't have many elements to judge this situation perfectly.

However, working with views means depending on the underlying database system. Obviously it has its pros and cons, but I would prefer to decouple my software components.

What if you change, in the future, switching from MySQL to MongoDB?

Maybe, you could use a cache system, like Redis or Memcached (and Laravel already has a ready-to-use service for it).

As I told you before, I am making this suggestion basically because I think about the software scalability and components decoupling.

Here you can learn about the basic use of the Cache Service: http://laravel.com/docs/5.1/cache

Also, if you have some confidence with design patterns, you can implement a really elegant solution using some stacked repositories alongside the decorator pattern.

You can find some interesting articles about the topic here:

Yes, they're about Laravel 4 but the concept can be easily adopted in a Laravel 5.* project.

Hope it was useful!

EDIT: as I told in the following comments, if you don't want to start with something like Redis or Memcached, you can always use the filesystem-based Cache.