我已經(jīng)進(jìn)行了研究并閱讀了laravel文檔,但我確實(shí)想正確理解該主題,因此我非常感謝初學(xué)者友好的解釋。我有4張桌子,像這樣:*USERS*-user_id-username-role*PROJECTS*-proj_id-proj_title-client-created_by*TASKS*-task_id-proj_id-status-created_by*CLIENTS*-client_id-client_name我的意圖是在這些表之間創(chuàng)建關(guān)系,例如,當(dāng)用戶提交項(xiàng)目時(shí),獲取其ID,并從其ID存儲(chǔ)區(qū)中將他的名字存儲(chǔ)在“ created_by”中,或者,當(dāng)用戶提交任務(wù)時(shí),能夠獲得PROJECT通過(guò)其ID命名。令我困惑的是,如果我需要在兩個(gè)表中都創(chuàng)建外部約束,那么從USERS到PROJECTS,反之亦然,或者僅在其中之一中創(chuàng)建。
1 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
您不需要在表上創(chuàng)建約束,而需要在類(lèi)上創(chuàng)建約束。口才和學(xué)說(shuō)可以滿足您的所有需求。
我認(rèn)為您的問(wèn)題是,是否需要在所有模型中創(chuàng)建功能$this->belongsTo('Class')
和創(chuàng)建$this->hasMany('Class', 'class_id')
模型。答案并非總是如此。
您必須問(wèn)自己是否需要使用這種關(guān)系:例如,用戶需要查看他創(chuàng)建的所有項(xiàng)目(hasMany),而我們需要查看誰(shuí)創(chuàng)建了項(xiàng)目(belongsTo)。在其他情況下,我們不需要某些關(guān)系(例如,如果我們不希望評(píng)論出現(xiàn)在用戶的個(gè)人資料中,但是我們需要查看是誰(shuí)在相關(guān)文章上寫(xiě)的),然后您不需要不寫(xiě)函數(shù)。
- 1 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報(bào)
0/150
提交
取消