如何在laravel中包含(file.form)blade.php文件和另一个刀片文件

时间:2017-10-30 04:49:40

标签: php mysql laravel-5

在我的laravel项目管理应用程序中,我有项目,一个项目可以创建许多任务,一个任务已发布许多与任务有关的文件。所以,在我的文件中,附件表单是视图文件中的文件夹

文件/ form.blade.php

@foreach ($task->project->files as $file)
                <div>
                    <div><i class="fa fa-check-square-o"></i>
                        <span>

                            <a href="{{ $file->file_url }}" target="_blank">{{ $file->file_name }}</a>
</span>
                    </div>
                </div>
                <hr/>
                @endforeach

        <form class="form-vertical" role="form"
                                    enctype="multipart/form-data"
                                    method="post"
                                    action="{{ route('projects.files', ['projects' => $project->id]) }}">
            <div class="form-group{{ $errors->has('file_name') ? ' has-error' : '' }}">
                <input type="file" name="file_name" class="form-control" id="file_name">
                @if ($errors->has('file_name'))
                    <span class="help-block">{{ $errors->first('file_name') }}</span>
                @endif
            </div>

            <div class="form-group">
                <button type="submit" class="btn btn-info">Add Files</button>
            </div>
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
        </form>

和任务模型的文件模型关系是这个

public function task(){
    return $this->belongsTo(Task::class);
}

与文件模型的任务模型关系是这个

public function files(){
    return $this->hasMany('App\File');
}

现在我将files / form.blade.php文件与tasks / show.blade.php文件一起包含在内

任务/ show.blade.php

<h2>{{ $task->project->project_name }}</h2>
<hr>

{{$task->task_name}}
<hr>

{!!$task->body!!}

<hr>
@include('files.form')

然后当我尝试查看task / show.blade.php文件时,会出现以下错误

Undefined variable: task (View: C:\Users\Lilan\Desktop\ddd\resources\views\files\form.blade.php)

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这很奇怪,不应该发生,但请尝试将您的变量显式传递给您的子模板:

@include('files.form', ['task' => $task])

默认情况下,正如here所述,您应该能够访问子模板中父模板的所有数据。