如何使用Laravel模型访问数据库视图


How to access db views using Laravel models?

我正在将一个Postgres支持的web应用程序移植到Laravel 4.2,我看不出有什么方法可以利用psqldb中现有的八个左右的求和视图。这些视图预制了各种聚合和平均函数,因此它们是模式的适当组成部分,因为它们说明了表实体之间的关系。

肯定有人不得不使用数据库视图和Laravel的活动记录风格界面?你怎么做的?

您的问题是关于数据库视图的,如果我没有错,那么您谈论的是动态创建的动态表,例如,在MySql中,可以使用以下内容创建View

CREATE VIEW students AS SELECT * FROM profiles where type='student' ORDER BY id;

因此,它将允许查询动态表,即此处的students视图,例如:

select * from students;

这将从students视图返回筛选后的数据。所以,如果我对你的问题是正确的,那么我认为你可以像使用真实表格一样使用Eloquent,例如,为学生创建Eloquent模型view,你可以简单地使用这样的东西来创建它:

class ViewStudent extends Eloquent {
    protected $table = 'students';
}

因此,现在您可以像通常用于其他表一样使用此模型,例如;

$students = ViewStudent::all();

这是一样的方式。由于您要求psql,所以我不确定它的语法,也不确定它在该系统中是如何工作的,但我相信这也是可能的。