【发布时间】:2015-12-22 03:54:17
【问题描述】:
我有一个系统,您可以在其中创建不同的文档。从选择列表中,我可以选择例如 Project Brief,这将向我显示 Project Brief 表单,我可以在其中添加数据以完成项目简介。我还可以从选择中选择其他文档,显示给我的表单将适合所选文档。
我遇到的一个问题是我为每种文档类型创建了一个新的数据库表,以及一个新的模型、控制器等。我知道如果我创建了多种类型的文档,这将失控,所以我决定改变一些事情。我的新数据库设计是这样的
所以我正在制作一个通用文档表,我可以用它来制作不同的文档。 我现在希望有一个通用的文档模型,所以我不需要为每种类型的文档创建一个新模型。我面临的项目是这样的。在我的项目页面中,我有一个下拉菜单,您可以在其中选择要创建的文档类型。一个例子是这样的
{!! link_to_route('projects.projectBrief.create', 'Project Brief', array($project->id)) !!}
以上路线如下
Route::model('projects.projectBrief', 'Document');
Route::resource('projects.projectBrief', 'Docs\DocumentController', ['except' => ['index', 'show']]);
所以它使用项目简介视图,但也使用通用文档控制器。现在在我的文档控制器中,目前我的创建功能类似于以下内容
public function create(Project $project)
{
return View::make('projectBrief.create', compact('project'));
}
这对这个文档来说很好,但是因为其他文档类型将使用相同的控制器,我需要一种方法来分离事物。我该怎么做呢?因此,如果我从 select 选项中选择 Reporting Document,则上面的 create 方法应该返回 reportingDoc 的视图。如何确定要返回的视图?
谢谢
【问题讨论】:
标签: laravel-5