最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravle eloquent 多對多模型關(guān)聯(lián)實(shí)例詳解

 更新時(shí)間:2017年11月22日 08:44:52   投稿:mrr  
Eloquent中一個(gè)模型就是一個(gè)數(shù)據(jù)表,數(shù)據(jù)表之間通常會有關(guān)聯(lián),多對多關(guān)聯(lián)就是2個(gè)表之間相互有很多關(guān)聯(lián),這篇文章給大家介紹了Laravle eloquent 多對多模型關(guān)聯(lián)實(shí)例詳解,需要的朋友參考下吧

什么是多對多關(guān)聯(lián)?

Eloquent中一個(gè)模型就是一個(gè)數(shù)據(jù)表,數(shù)據(jù)表之間通常會有關(guān)聯(lián),多對多關(guān)聯(lián)就是2個(gè)表之間相互有很多關(guān)聯(lián),比如說:一個(gè)表存放了用戶數(shù)據(jù),

 

另一個(gè)表存放了文章的信息,

 

一個(gè)用戶可以收藏多篇文章,一篇文章也可以被多個(gè)用戶收藏,這就是 多對多關(guān)聯(lián) 。

怎么用多對多關(guān)聯(lián)?

使用Eloquent的多對多關(guān)聯(lián)可以很便捷的互相查詢、修改、增加、刪除兩個(gè)模型之間的關(guān)聯(lián)。

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

舉個(gè)栗子

我們數(shù)據(jù)庫里的三張表是user

 

articles

 

article_collections

 

我們需要?jiǎng)?chuàng)建2個(gè)模型,中間表模型不是必須的

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

通過在模型里寫一個(gè)方法調(diào)用belongToMany()方法并返回結(jié)果來獲取數(shù)據(jù)。

belongToMany()里傳入的第一個(gè)參數(shù)是對應(yīng)表,第二個(gè)參數(shù)是中間表的表名,第三個(gè)參數(shù)是當(dāng)前模型在中間表的鍵名,第四個(gè)參數(shù)是關(guān)聯(lián)模型在中間表的鍵名。

<?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()等方法對查詢的數(shù)據(jù)添加條件

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

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

用detach()方法去除關(guān)聯(lián),方法和attach()一樣。

OK 以上就是Laravel eloquent 多對多關(guān)聯(lián)的一些基礎(chǔ)知識了。

總結(jié)

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

相關(guān)文章

  • PHP設(shè)計(jì)模式之中介者模式(Mediator Pattern)入門與應(yīng)用案例詳解

    PHP設(shè)計(jì)模式之中介者模式(Mediator Pattern)入門與應(yīng)用案例詳解

    這篇文章主要介紹了PHP設(shè)計(jì)模式之中介者模式(Mediator Pattern),結(jié)合實(shí)例形式詳細(xì)分析了PHP中介者模式的基本概念、原理、應(yīng)用案例與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Laravel 實(shí)現(xiàn)在Blade模版中使用全局變量代替路徑的例子

    Laravel 實(shí)現(xiàn)在Blade模版中使用全局變量代替路徑的例子

    今天小編就為大家分享一篇Laravel 實(shí)現(xiàn)在Blade模版中使用全局變量代替路徑的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 最新評論

    和龙市| 宝山区| 西林县| 岐山县| 客服| 平凉市| 延津县| 惠水县| 会宁县| 靖远县| 双桥区| 胶南市| 湄潭县| 孙吴县| 榆林市| 睢宁县| 大冶市| 深泽县| 信阳市| 沈阳市| 蒙城县| 威海市| 大庆市| 漠河县| 仙游县| 舟山市| 吉水县| 平远县| 弥渡县| 习水县| 雷山县| 龙胜| 通山县| 沂水县| 怀宁县| 沾化县| 葫芦岛市| 桂林市| 澄江县| 宜阳县| 镇远县|