【问题标题】:how to include (file.form) blade.php file with another blade file in laravel如何在 laravel 中包含(file.form)blade.php 文件和另一个刀片文件
【发布时间】:2017-10-30 13:41:09
【问题描述】:

在我的 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>

和文件模型与Task模型的关系是这样的

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

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

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

现在我将 files/form.blade.php 文件包含在 tasks/show.blade.php 文件中

tasks/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)

如何解决这个问题?

【问题讨论】:

  • 没有办法解决这个问题
  • 我需要一些帮助
  • 您需要更多详细信息吗?

标签: php mysql laravel-5


【解决方案1】:

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

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

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

【讨论】:

  • 做了但同样的错误我不知道是什么问题
猜你喜欢
  • 1970-01-01
  • 2013-11-22
  • 2014-02-07
  • 2020-07-04
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-25
相关资源
最近更新 更多