2014-10-27 30 views
1

我將一個Postgres支持的Web應用程序移植到Laravel 4.2中,我看不到一種方法來利用psql db中內置的八個或多個求和視圖。這些視圖執行各種聚合和平均函數,因此它們正好是架構的一部分,因爲它們說明了表實體之間的關係。如何使用Laravel模型訪問數據庫視圖?

肯定有人不得不使用db視圖與Laravel的活動記錄樣式界面?你如何去做呢?

回答

8

你的問題是有關數據庫的意見,如果我沒有錯,那麼你正在談論在動態創建的動態表,例如,在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,所以我不確定它在那個系統中的語法或者它是如何工作的,但我相信它可能是相同的。

+1

謝謝ton.Nice解釋。 – 2016-12-29 18:33:01

+0

不客氣:-) – 2016-12-29 18:49:51

相關問題