亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

Laravel五大功能之Eloquent關系模式

2020-03-22 17:59:19
字體:
來源:轉載
供稿:網友
  • Eloquent是Laravel的原始ActiveRecord是實現的,建立在Laravel的Fluent Query Builder之上的,所以Eloquent類和Fluent類是一樣的,能實現復雜的SQL語句和非常直觀表達出的表與表之間的關系

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

    ActiveRecord的主要思想是:

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

    現在我們講講ActiveRecord在Laravel中的應用

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

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

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

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

    如果我們想得到用戶id為1的passport,我們應該怎么做呢?

    $user = User::find(1);//實例化User表  if(is_null($user))  {          echo 'No User found!';          return;  }  if($user->passport)  {                  //$user->passport將會得到$user對應的Passport實例,再來獲取number          echo 'The user's passport number is'.$user->passport->number;  }  

    再來看看我們的Passport類(用于操作passport表)中,有一個外鍵user_id

    class  Passport extends Eloquent  {          public function user()          {                  return $this->belongs_to('User');//這樣我們就表達出了user_id這個外鍵對應的是user表          }  }  

    如果我們要通過一個passport來得到它所指向的用戶的名字

    $passport = Passport::find(1);  echo $passport->user->name;  

    就是這么簡單!laravel就是這么方便!如果你用過其他的PHP框架的話,一定能感覺到的!


    一對多關系(one-to-many relationships)
    關系數據庫中兩個表之間的一種關系,該關系中第一個表中的單個行可以與第二個表中的一個或多個行相關,但第二個表中的一個行只可以與第一個表中的一個行相關。
    假如我們有一張運動小組表,有運動員表許多的運動員,每一個運動員都屬于某一個小組

    表team

    class Team extends Eloquent  {      public function palyers()      {          return $this->has_many(‘Player’);      }  }  

    表players

    class Player extends Eloquent  {      public function team()      {          return $this->belongs_to('Team');      }  }  

    接著咱們來看看改如何來得到一個小組的所有成員呢?

    $team = Team::find(1);  $palyers = $team->palyers()->get();  foreach($players as $player)  {          echo '$play->name is on team $team->name';  }  

    多對多關系(many-to-many relationships)
    關系數據庫中兩個表之間的一種關系, 該關系中第一個表中的一個行可以與第二個表中的一個或多個行相關。第二個表中的一個行也可以與第一個表中的一個或多個行相關。要表示多對多關系,您必須創建第三個表,該表通常稱為聯接表,它將多對多關系劃分為兩個一對多關系。
    假如有這樣子三張表

    每個學生都可以任意的挑選課程,每門課程也可以有任意的學生來挑選
    現在來看看我們怎么定義Model
    Student表的模型

    class Student extends Eloquent  {          public function courses()          {                  return $this->has_many_and_belongs_to('Course');          }  }  

    Course表的模型

    class Course extends Eloquent  {          public function students()          {                  return $this->has_many_and_belongs_to('Student');          }  }  

    讓我們來使用我們的模型,通過找到id為1的學生選修的課程

    $student = Student::find(1);    if(is_null($student))  {          echo '沒有此學生';          exit;  }    if(!$student->courses)  {          echo '學生: $student->name 沒有選修任何課程。';          exit;  }  else  {          foreach($student->courses as $course)          {                  echo '學生:$student->name 選修的課程有:$course->name';          }  }  

    接著我們來通過課程找出他所對應的所有學生

    $course = Course::find(1);  if(is_null($course))  {          echo '沒有此課程';          exit;  }  if($course->students)  {          foreach($course->students as $student)          {                  echo '該課程:$course->name選修的學生有:$student->name';          }  }  else  {          echo '課程暫時沒有學生選修!';          exit;  }  

    如果我們想給一門沒有被選修的課程添加信息應該怎么做呢?

    $course = Course::find(12);  if(is_null($course))  {          echo '該課程不存在!'          exit;  }  $new_student = array(          'name' => '沖田杏梨';  );    $course->students()->insert($new_student);  
    PHP編程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美理论电影在线观看| 日韩欧美亚洲国产一区| 亚洲国产97在线精品一区| 久久久视频免费观看| 国产精品视频专区| 日韩国产精品亚洲а∨天堂免| 最近2019年日本中文免费字幕| 国产主播在线一区| 欧美黄色免费网站| 在线观看免费高清视频97| 一夜七次郎国产精品亚洲| 日本一区二区在线免费播放| 国产91|九色| 2019中文在线观看| 精品国产91乱高清在线观看| 久久精品电影一区二区| 国产一区香蕉久久| 亚洲成人激情在线| 精品激情国产视频| 欧美老女人性视频| 国产精品夜色7777狼人| 欧美视频在线观看 亚洲欧| 亚洲图中文字幕| 成人黄色av免费在线观看| 国产啪精品视频网站| 色综合久久久888| 伊人久久久久久久久久久| 国产精品88a∨| 日韩一区在线视频| 日本免费一区二区三区视频观看| 日韩有码在线视频| 欧美亚洲在线观看| 久久乐国产精品| 美女精品久久久| 成人激情在线播放| 欧美肥老妇视频| 国产精品美女呻吟| 精品高清美女精品国产区| 91精品久久久久| 国产精品精品一区二区三区午夜版| 2019国产精品自在线拍国产不卡| 日韩精品日韩在线观看| 亚洲第一综合天堂另类专| 国产精品一区二区三区免费视频| 精品露脸国产偷人在视频| 激情成人在线视频| 日本国产精品视频| 精品国产一区二区三区久久| 亚洲第一综合天堂另类专| 国产一区二区三区视频| 国产精品私拍pans大尺度在线| 91av成人在线| 国产伦精品一区二区三区精品视频| 午夜美女久久久久爽久久| 久久99久久99精品中文字幕| 热久久免费视频精品| 91精品国产九九九久久久亚洲| 久久久国产精品免费| 伊人久久大香线蕉av一区二区| 亚洲影院在线看| 色中色综合影院手机版在线观看| yellow中文字幕久久| 欧美日韩裸体免费视频| 色综合91久久精品中文字幕| 欧美日韩亚洲精品内裤| 精品电影在线观看| 97国产精品视频人人做人人爱| 成人黄色午夜影院| 国产精品入口夜色视频大尺度| 性欧美xxxx视频在线观看| 日韩美女毛茸茸| 欧美性生交xxxxxdddd| 国产成人精品国内自产拍免费看| 亚洲电影免费观看高清| 欧美精品亚州精品| 久久久久久久久久久久久久久久久久av| 久久视频精品在线| 国产精品丝袜久久久久久不卡| 在线看福利67194| 成人做爽爽免费视频| 久久亚洲精品视频| 91丨九色丨国产在线| 91久久在线播放| 97精品一区二区三区| 国产午夜精品美女视频明星a级| 高清欧美性猛交xxxx| 成人黄色中文字幕| 欧美性一区二区三区| 97精品伊人久久久大香线蕉| 国产一区二区美女视频| 国产精品a久久久久久| 亚洲国产精品电影在线观看| 中文字幕久热精品在线视频| 九九热r在线视频精品| 国产精品对白刺激| 久久久久久久久久久成人| 欧美日韩国产影院| 国产精品视频免费在线| 777777777亚洲妇女| 日韩在线激情视频| 欧美伊久线香蕉线新在线| 成人精品在线视频| 国产美女直播视频一区| 日本sm极度另类视频| 欧亚精品在线观看| 国产色婷婷国产综合在线理论片a| 亚洲综合视频1区| 一本色道久久综合狠狠躁篇的优点| 国产视频观看一区| 久久久国产精彩视频美女艺术照福利| 中文字幕一精品亚洲无线一区| 亚洲精品按摩视频| 色婷婷av一区二区三区久久| 久久精品中文字幕一区| 欧美精品中文字幕一区| 亚洲国产美女久久久久| 久久综合网hezyo| 国产欧美va欧美va香蕉在线| 亚洲综合中文字幕在线| 色综合久久悠悠| 国产91成人video| 国产在线精品一区免费香蕉| 亚洲午夜av电影| 久久久久国产精品一区| 欧美疯狂性受xxxxx另类| 久久久www成人免费精品| 亚洲国产精品成人va在线观看| 日韩欧美国产网站| 亚洲第一男人av| 亚洲香蕉成人av网站在线观看| 国产91在线播放九色快色| 91精品国产免费久久久久久| 久久久久久久久久久久av| 最近中文字幕2019免费| 最近中文字幕日韩精品| 成人免费午夜电影| 欧美一性一乱一交一视频| 国产精品狠色婷| 亚洲午夜精品视频| 日本aⅴ大伊香蕉精品视频| 人人做人人澡人人爽欧美| 日韩最新在线视频| 国产成人综合久久| 国产91精品久久久久| 亚洲成人久久一区| 大胆欧美人体视频| 亚洲美女动态图120秒| 午夜精品久久久久久久99热浪潮| 欧美激情一区二区三区久久久| 538国产精品一区二区在线| 成人免费观看49www在线观看| 伊人久久免费视频| 日韩a**中文字幕| 成人免费黄色网| 国产精品xxx视频| 日韩一区二区精品视频| 国产精品高清在线| 最好看的2019的中文字幕视频| 国内精品一区二区三区四区| 久久成人这里只有精品| 亚洲一区第一页| 日韩欧美在线视频免费观看| 久久久久久国产精品久久| 色综合亚洲精品激情狠狠|