我正在學習OOPHP的過程中,我正在尋找一些'最佳實踐'的建議。我應該使用'加入模型,或致電其他模型
對於關係數據庫,很多表中都有明顯的外鍵。當我爲我的網站創建模型時,我試圖確定在模型中執行JOIN查詢還是讓一個模型調用另一個模型更好?
調用其他模型似乎使代碼更加模塊化。無論哪種方式似乎創建依賴關係,無論是在另一個表或另一個模型。
如果我使用'調用其他模型'的方法,我似乎遇到了另一個問題:無限循環。這是我遇到的例子。我有2個表格,person
和school
。每個person
有一個最喜歡的學校,由schoolId
代表。每個school
有一個principal
,這是一個personId
。
該行被映射到person
對象接受在其構造school
對象,但學校行被映射到school
對象接受在其構造person
對象。
從我發現的,關於延遲加載的一些東西似乎是解決方案,但(我可能是錯誤的),似乎如果我這樣做,我不能使用PHP的類型提示。 (我猜很多人會向我推薦像Doctrine這樣的ORM工具,這是我將來肯定會研究的東西,我現在正在避免它,因爲它的學習曲線很陡,而且因爲我覺得我如果我自己嘗試一次,請稍後再理解這些工具)
有很多模型,而不是連接做創建依賴關係,我不認爲這就是你想要做的。使用連接是正常的,我沒有看到它的任何問題。 – GGio
但不加入創建依賴關係?如果一個表格被編輯用於大量的連接,你將不得不編輯所有這些連接查詢。有很多模型,你會更新1個模型,並且這些變化會傳播給所有調用它的人。 –