首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5-通用文档管理

Laravel 5-通用文档管理
EN

Stack Overflow用户
提问于 2016-01-04 23:20:40
回答 1查看 1.5K关注 0票数 0

我有一个系统,您可以在其中创建不同类型的独特文档。例如,有一个文档名为Project Identified,它需要某些输入。最初,我为每个独特的文档类型都有一个数据库表,但这很快就变得杂乱无章。因此,我创建了一个更通用的数据库结构,并提出了以下内容

所以,我创建了一个项目。在项目显示页面中,我可以选择要创建的文档类型,例如

代码语言:javascript
复制
<li>{!! link_to_route('projects.documents.create', 'Project Identified', array($project->id, 'documentType' => 'projectIdentified')) !!}</li>

现在,如果我选择创建一个项目标识文档,它将使用通用文档控制器来处理。因为到路由的链接有一个documentType参数,所以我可以从url中获取该参数的值。因此,在我的文档控制器创建函数中,我执行以下操作来显示文档的正确视图

代码语言:javascript
复制
public function create(Project $project)
{
    $documentType = $_GET["documentType"];

    if($documentType == "projectIdentified") {
        return View::make('projectIdentifiedDoc.create', compact('project'));
    }
}

此视图有一个已绑定的窗体

代码语言:javascript
复制
{!! Form::model(new App\Document, [
    'class'=>'form-horizontal',
    'route' => ['projects.documents.store', $project->id]
]) !!}

但是,在文档控制器存储函数中,我再次需要获取documentType。如何在表单模型中传递此参数?另外,这是正确的方法还是有更有效的方法?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-01-05 02:00:36

你读过关于关系的文档吗?

https://laravel.com/docs/5.2/eloquent-relationships

您需要定义模型中的关系。

因此,如果一个文档在您的文档模型中只有一个documentType,那么您应该定义

代码语言:javascript
复制
public function documentType()
{
    return $this->hasOne('App\documentType');
}

不同类型的关系,如何定义它们,然后如何访问数据,都有很好的文档记录。

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

https://stackoverflow.com/questions/34594317

复制
相关文章

相似问题

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