小编ehp*_*ehp的帖子

管理Laravel中的关系,遵守存储库模式

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

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

  • 学生:身份证,姓名
  • 课程:id,name,teacher_id
  • 老师:id,姓名
  • 作业:id,name,course_id
  • 分数(充当学生和作业之间的枢轴):student_id,assignment_id,分数

我有所有这些表的查找,创建,更新和删除方法的存储库类.每个存储库都有一个与数据库交互的Eloquent模型.根据Laravel的文档,模型中定义了关系:http://laravel.com/docs/eloquent#relationships .

在创建新课程时,我所做的就是在课程资源库中调用create方法.该课程有作业,因此在创建作业时,我还想在课程中为每个学生在乐谱表中创建一个条目.我是通过Assignment Repository完成的.这意味着赋值存储库使用Assignment和Student模型与两个Eloquent模型进行通信.

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

此外,将分数表用作作业与学生之间的转轴还是应该在其他地方完成,这是一种好习惯吗?

oop repository-pattern laravel eloquent laravel-4

114
推荐指数
4
解决办法
3万
查看次数

Laravel 4使用IoC容器设置模型

我最近看了这个视频,想要改变我的Laravel控制器,以便他们用Laravel的IoC容器管理它们的依赖.该视频讨论了为Model创建接口,然后为所使用的特定数据源实现该接口.

我的问题是:当实现具有扩展Eloquent的类并将该类绑定到控制器以便可以从中访问的$this->model接口时,我是否还应该为Eloquent模型创建接口和实现,这些接口和实现可能在调用方法时返回$this->model->find($id)?Model和ModelRepository应该有不同的类吗?

换句话说:new Model当我的模型进入时我该怎么做$this->model.

php laravel laravel-4

1
推荐指数
1
解决办法
2692
查看次数

标签 统计

laravel ×2

laravel-4 ×2

eloquent ×1

oop ×1

php ×1

repository-pattern ×1