婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Laravle eloquent 多對多模型關聯實例詳解

Laravle eloquent 多對多模型關聯實例詳解

熱門標簽:福建高頻外呼防封系統哪家好 全國各省地圖標注點 周口網絡回撥外呼系統 外呼系統人工客服 百度地圖標注類型是酒店 隨州銷售電銷機器人公司 400電話申請辦理 商丘外呼系統好處 網絡電話400申請

什么是多對多關聯?

Eloquent中一個模型就是一個數據表,數據表之間通常會有關聯,多對多關聯就是2個表之間相互有很多關聯,比如說:一個表存放了用戶數據,

 

另一個表存放了文章的信息,

 

一個用戶可以收藏多篇文章,一篇文章也可以被多個用戶收藏,這就是 多對多關聯 。

怎么用多對多關聯?

使用Eloquent的多對多關聯可以很便捷的互相查詢、修改、增加、刪除兩個模型之間的關聯。

多對多關聯除了相互關聯的兩張表之外還需要一張記錄關聯的表(pivot表),一般記錄兩個模型的的ID就行

舉個栗子

我們數據庫里的三張表是user

 

articles

 

article_collections

 

我們需要創建2個模型,中間表模型不是必須的

?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Entity{
}
?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Articles extends Entity{
}

通過在模型里寫一個方法調用belongToMany()方法并返回結果來獲取數據。

belongToMany()里傳入的第一個參數是對應表,第二個參數是中間表的表名,第三個參數是當前模型在中間表的鍵名,第四個參數是關聯模型在中間表的鍵名。

?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Entity{
  public function articles()
  {
   return $this->belongToMany(Articles::class, 'article_collections', 'user_id', 'article_id')
  }
}

這樣我們就可以通過article方法得到user收藏的文章了

$articles = User::find(1)->articles()->get();

用where()、orderBy()等方法對查詢的數據添加條件

用attach()方法添加關聯,比如讓id為1用戶收藏id為1的article

$user = User::find(1);
$user->articles()->attach(1) 

用detach()方法去除關聯,方法和attach()一樣。

OK 以上就是Laravel eloquent 多對多關聯的一些基礎知識了。

總結

以上所述是小編給大家介紹的Laravle eloquent 多對多模型關聯實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Laravel關系模型指定條件查詢方法
  • laravel withCount 統計關聯數量的方法
  • Laravel 關聯模型-關聯新增和關聯更新的方法

標簽:海南 迪慶 定西 六安 佛山 樂山 南寧 十堰

巨人網絡通訊聲明:本文標題《Laravle eloquent 多對多模型關聯實例詳解》,本文關鍵詞  Laravle,eloquent,多對,多,模型,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravle eloquent 多對多模型關聯實例詳解》相關的同類信息!
  • 本頁收集關于Laravle eloquent 多對多模型關聯實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 都匀市| 施甸县| 绵竹市| 涞水县| 怀来县| 醴陵市| 尼木县| 巴林右旗| 安义县| 甘泉县| 汾西县| 汉中市| 康马县| 平和县| 靖安县| 荔浦县| 正阳县| 二手房| 吐鲁番市| 清流县| 霍林郭勒市| 金沙县| 什邡市| 翁源县| 泸州市| 富顺县| 长宁县| 互助| 湘潭县| 无为县| 上杭县| 芒康县| 华安县| 云阳县| 武宣县| 独山县| 大厂| 泰兴市| 云安县| 蒙山县| 扬中市|