Laravel Eloquent: 多對多查詢

更新於 發佈於 閱讀時間約 2 分鐘

假設資料情境是「每位員工可能屬於多個部門,每個部門可能包含多位員工」,這種多對多的關係。


資料情境:

raw-image
raw-image
raw-image

程式碼:

raw-image
raw-image
  • 在Model中使用belongsToMany建立多對多關係,employee_department則為中間關聯表的table name。
  • withPivot: 可指定中間關聯表的資料要加上哪些欄位,如果沒加這個,預設只會出現關聯表的id(employee_id, department_id)。

設定完Model關聯關係後,可以快速取得某位員工的部門資料:

Employee::find(1)->departments

反之,Department也可以透過employees取得某個部門的員工資料。


列出所有員工,帶上對應的部門資料:

Employee::with('departments')->get()

完整程式碼:

raw-image

結果:

raw-image
raw-image
  • pivot中儲存的是中間關聯表的欄位。



本筆記參考:
1. https://learnku.com/laravel/t/7523/ask-how-do-laravel-multiple-queries-come-true
2. https://docs.laravel-dojo.com/laravel/5.5/eloquent-relationships

留言
avatar-img
留言分享你的想法!
avatar-img
Vic Lin的沙龍
20會員
161內容數
Vic Lin的沙龍的其他內容
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
你接到一個很重要的專案,其中蘊含了許多非你專業可評估的需求。因此,你要從兩位同事中挑一位副手加入專案團隊。你會怎麼做?
Thumbnail
你接到一個很重要的專案,其中蘊含了許多非你專業可評估的需求。因此,你要從兩位同事中挑一位副手加入專案團隊。你會怎麼做?
Thumbnail
題目敘述 題目會給我們一張Employee 資料表。裡面分別有employee_id、department_id 、primary_flag 等欄位。其中(employee_id, department_id) 是這張資料表的複合主鍵Primary key。 要求我們列出每一位員工的主要歸屬
Thumbnail
題目敘述 題目會給我們一張Employee 資料表。裡面分別有employee_id、department_id 、primary_flag 等欄位。其中(employee_id, department_id) 是這張資料表的複合主鍵Primary key。 要求我們列出每一位員工的主要歸屬
Thumbnail
JOIN 連接 : 可以將2個表格連接在一起
Thumbnail
JOIN 連接 : 可以將2個表格連接在一起
Thumbnail
資料形態一個申請日期中有多個聯絡人與相對應的MAIL,而且聯絡人都是放在同一個儲存格中並且以逗號分隔,MAIL亦同,這樣要如何把聯絡人與MAIL拆分成一個聯絡人一列的資料呢? 不囉嗦我們先來看成果,檔案下載(點我) 這麼方便的效果怎麼做的呢?其實用POWER QUERY完全不用寫任何程式就能完成了,
Thumbnail
資料形態一個申請日期中有多個聯絡人與相對應的MAIL,而且聯絡人都是放在同一個儲存格中並且以逗號分隔,MAIL亦同,這樣要如何把聯絡人與MAIL拆分成一個聯絡人一列的資料呢? 不囉嗦我們先來看成果,檔案下載(點我) 這麼方便的效果怎麼做的呢?其實用POWER QUERY完全不用寫任何程式就能完成了,
Thumbnail
越來越多企業發現,僅僅支持多層審批的手機/雲管理系統,絕對不足以應付日常快速而多變的業務環境。 Multiable M18 ERP 通過智能工作流配置工具,實現動態審批路線圖,使審批過程更貼地,不會成為僵化的、徒具外表的簽名流程。 應用案例: 不同的採購合同,可按相關供應商過往QC合格率, 訂單金額
Thumbnail
越來越多企業發現,僅僅支持多層審批的手機/雲管理系統,絕對不足以應付日常快速而多變的業務環境。 Multiable M18 ERP 通過智能工作流配置工具,實現動態審批路線圖,使審批過程更貼地,不會成為僵化的、徒具外表的簽名流程。 應用案例: 不同的採購合同,可按相關供應商過往QC合格率, 訂單金額
Thumbnail
這個應用程式提供團隊成員追蹤任務進度、互相溝通的平臺。它整合了任務列表、留言功能以及任務標記功能,方便團隊成員查看任務、討論問題並追蹤相關資訊。相較於外部通訊軟體,此應用程式避免了訊息遺失、任務混淆等問題,提升團隊協作效率。
Thumbnail
這個應用程式提供團隊成員追蹤任務進度、互相溝通的平臺。它整合了任務列表、留言功能以及任務標記功能,方便團隊成員查看任務、討論問題並追蹤相關資訊。相較於外部通訊軟體,此應用程式避免了訊息遺失、任務混淆等問題,提升團隊協作效率。
Thumbnail
本筆記除了以文字說明SOLID設計原則以外,並以Java code實際舉例。 Single Responsibility Principle (SRP) 單一職責原則 每個人負責屬於自己的職責,不該承擔太多職責,大家各自做自己應該做的事情,且不會互相干擾。 續上程式碼,修改如下: Output:
Thumbnail
本筆記除了以文字說明SOLID設計原則以外,並以Java code實際舉例。 Single Responsibility Principle (SRP) 單一職責原則 每個人負責屬於自己的職責,不該承擔太多職責,大家各自做自己應該做的事情,且不會互相干擾。 續上程式碼,修改如下: Output:
Thumbnail
假設資料情境是「每位員工可能屬於多個部門,每個部門可能包含多位員工」,這種多對多的關係。 資料情境: 程式碼: 在Model中使用belongsToMany建立多對多關係,employee_department則為中間關聯表的table name。 列出所有員工,帶上對應的部門資料: 完整程式碼:
Thumbnail
假設資料情境是「每位員工可能屬於多個部門,每個部門可能包含多位員工」,這種多對多的關係。 資料情境: 程式碼: 在Model中使用belongsToMany建立多對多關係,employee_department則為中間關聯表的table name。 列出所有員工,帶上對應的部門資料: 完整程式碼:
Thumbnail
隨著新型冠狀病毒的疫情加劇擴散到各國,許多台灣與海外廠人資夥伴繞著地球跑,卯起來做防疫工作。一方面要訂定公司政策布達員工知悉、另一方面採買防疫物資,又要留意勞動部發布的請假相關規定,實在是蠟燭兩頭燒啊!有人資夥伴分享,這根本是接下了班長、副班長、風紀股長的角色(別忘了還有輔導股長唷)。
Thumbnail
隨著新型冠狀病毒的疫情加劇擴散到各國,許多台灣與海外廠人資夥伴繞著地球跑,卯起來做防疫工作。一方面要訂定公司政策布達員工知悉、另一方面採買防疫物資,又要留意勞動部發布的請假相關規定,實在是蠟燭兩頭燒啊!有人資夥伴分享,這根本是接下了班長、副班長、風紀股長的角色(別忘了還有輔導股長唷)。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News