首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Laravel中管理关系,遵循存储库模式

在Laravel中管理关系,遵循存储库模式
EN

Stack Overflow用户
提问于 2013-09-16 05:20:33
回答 4查看 37.3K关注 0票数 125

在阅读T.Otwell关于Laravel中良好设计模式的书后,在Laravel 4中创建应用程序时,我发现自己为应用程序中的每个表创建了存储库。

我最终得到了以下表结构:

分数课程: id,name,teacher_id

  • Teachers: id,name

  • Assignments: id,name,course_id

  • Scores (作为学生和作业之间的枢纽):

  • ,student_id,assignment_id,

对于所有这些表,我都有包含find、create、update和delete方法的存储库类。每个存储库都有一个与数据库交互的雄辩模型。根据Laravel的文档,关系在模型中定义:http://laravel.com/docs/eloquent#relationships

在创建新课程时,我所要做的就是调用课程存储库上的create方法。该课程有作业,因此在创建作业时,我还希望为课程中的每个学生在分数表中创建一个条目。我通过Assignment Repository完成这项工作。这意味着作业存储库与两个雄辩的模型进行通信,即作业模型和学生模型。

我的问题是:由于这个应用程序的大小可能会增长,并且会引入更多的关系,在存储库中与不同的雄辩模型通信是一种好的做法,还是应该使用其他存储库来完成这一点(我的意思是从分配存储库中调用其他存储库),还是应该在雄辩模型中一起完成?

此外,使用分数表作为作业和学生之间的枢纽是一种良好的做法,还是应该在其他地方进行?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18817615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档