首頁 >資料庫 >mysql教程 >如何在 Laravel 中檢索巢狀關係:跨多個中間表存取訂閱事件的人員?

如何在 Laravel 中檢索巢狀關係:跨多個中間表存取訂閱事件的人員?

Linda Hamilton
Linda Hamilton原創
2024-11-17 02:38:03579瀏覽

How to Retrieve Nested Relationships in Laravel: Accessing Persons Subscribed to an Event Across Multiple Intermediary Tables?

Laravel 中的巢狀關係

巢狀關係可讓您存取資料結構中多個層級的模型。在 Laravel 中實現這一點可能是一個挑戰,尤其是在關係複雜的情況下。

問題陳述:

儘管有多個中間表,但仍檢索訂閱事件的人員列表事件模型和人物模型之間。

資料庫結構:

資料庫結構包含以下表:事件、城市、公司和人員。

模型關係:

  • 活動:屬於城市
  • 城市:有許多公司,有許多事件
  • 公司:屬於城市,擁有很多人
  • 人:屬於公司,屬於許多事件(透過EventScore)

不成功的嘗試:

嘗試使用with() 和whereHas() 方法沒有產生所需的結果。

解決方案:

要解決此問題,請使用以下查詢:

此查詢急切載入與事件相關的城市、急切公司和人員。

或者,如果您只想從 person 表中選擇特定字段:

此方法可確保僅檢索指定字段,從而優化查詢。

以上是如何在 Laravel 中檢索巢狀關係:跨多個中間表存取訂閱事件的人員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn