Eloquent是Laravel的原始ActiveRecord是實現(xiàn)的,建立在Laravel的Fluent Query Builder之上的,所以Eloquent類和Fluent類是一樣的,能實現(xiàn)復(fù)雜的SQL語句和非常直觀表達(dá)出的表與表之間的關(guān)系

ActiveRecord也屬于ORM層,由Rails最早提出,遵循標(biāo)準(zhǔn)的ORM模型:表映射到記錄,記錄映射到對象,字段映射到對象屬性。配合遵循的命名和配置慣例,能夠很大程度的快速實現(xiàn)模型的操作,而且簡潔易懂。

ActiveRecord的主要思想是:

1. 每一個數(shù)據(jù)庫表對應(yīng)創(chuàng)建一個類,類的每一個對象實例對應(yīng)于數(shù)據(jù)庫中表的一行記錄;通常表的每個字段在類中都有相應(yīng)的Field;
2. ActiveRecord同時負(fù)責(zé)把自己持久化,在ActiveRecord中封裝了對數(shù)據(jù)庫的訪問,即CURD;;
3. ActiveRecord是一種領(lǐng)域模型(Domain Model),封裝了部分業(yè)務(wù)邏輯;

現(xiàn)在我們講講ActiveRecord在Laravel中的應(yīng)用

關(guān)于Eloquent的方法及其操作可以具體的可以看文檔,在這里我們主要講解表的關(guān)系

一對一的關(guān)系(one-to-one relationship)
關(guān)系數(shù)據(jù)庫中兩個表之間的一種關(guān)系,該關(guān)系中第一個表中的單個行只可以與第二個表中的一個行相關(guān),且第二個表中的一個行也只可以與第一個表中的一個行相關(guān)。
假如我們有一張user表和一張passport表是一對一的關(guān)系

首先讓我們來表達(dá)出這樣子的關(guān)系在我們的User類(用于操作user表)中

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

class User extends Eloquent  
{  
        public function passport()  
        {  
                return $this->has_one('Passport');//描述了在每一個用戶都有對應(yīng)的passport          }  
}

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式