簡體   English   中英

belongsToMany -> belongsToMany Laravel

[英]belongsToMany -> belongsToMany Laravel

編輯* 我對我的數據庫設置非常滿意。 我想知道查詢此數據並更新它的“Laravel 方式”。

在就構建和更新數據的最佳方法提出一些建議之后。 我在托兒所平台上工作; 一周中的每一天,孩子們都可以被分配到一個房間,無論是早上。 下午或全天。 我目前有以下內容(暫時忘記 room_child pivot)

孩子 Model

ID 名稱

星期幾 Model

ID

child_days pivot 表

child_id day_id

dayType Model

ID 類型
1個 滿的
2個 早晨

days_type pivot

day_id type_id

所以 - 希望能夠在一周的每一天為每個孩子預訂,每天可能有兩種不同的類型。 早上和晚上。

EG 孩子 1 -

周一 早晨
周二 全日
周三 下午

關於執行此操作的最佳方法以及如何管理它的任何建議? 比如,我可以急切加載結果嗎?

這與其說是一個答案,不如說是一種意見,所以請持保留意見。


  • 我根本不會使用daysOfWeek模型/表。

何必呢? 您最終將得到一個僅包含 7 行且永遠不需要增長或收縮的數據庫表。 DayType可以留下來。 也許將來你會有更多類型。 至少,這比改變一周的定義更有可能。

  • 這消除了對child_daysdays_type pivot 表的需要。

最后你只剩下 3 個模型。

  1. Child
  2. DayType
  3. Booking (或者你想怎么稱呼它。)

關系將很簡單

  • Booking屬於Child
  • Booking屬於DayType
  • Child有很多Booking
  • DayType hasMany Booking

我想象的bookings表有以下列。

  • 編號(pk)
  • child_id (fk)
  • day_type_id (fk)
  • day(可以是varchar(9)enum('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')

枚舉更有意義。 如果你使用它們,你可能會對Enum Casting感興趣


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM