为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel关系澄清

Laravel关系澄清

PHP
肥皂起泡泡 2021-04-09 14:15:26
我已经进行了研究并阅读了laravel文档,但我确实想正确理解该主题,因此我非常感谢初学者友好的解释。我有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我的意图是在这些表之间创建关系,例如,当用户提交项目时,获取其ID,并从其ID存储区中将他的名字存储在“ created_by”中,或者,当用户提交任务时,能够获得PROJECT通过其ID命名。令我困惑的是,如果我需要在两个表中都创建外部约束,那么从USERS到PROJECTS,反之亦然,或者仅在其中之一中创建。
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

您不需要在表上创建约束,而需要在类上创建约束。口才和学说可以满足您的所有需求。

我认为您的问题是,是否需要在所有模型中创建功能$this->belongsTo('Class')和创建$this->hasMany('Class', 'class_id')模型。答案并非总是如此。

您必须问自己是否需要使用这种关系:例如,用户需要查看他创建的所有项目(hasMany),而我们需要查看谁创建了项目(belongsTo)。在其他情况下,我们不需要某些关系(例如,如果我们不希望评论出现在用户的个人资料中,但是我们需要查看是谁在相关文章上写的),然后您不需要不写函数。


查看完整回答
反对 回复 2021-04-23
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信