将变量传递给其他视图

时间:2016-03-05 19:00:59

标签: php laravel laravel-5

我尝试在其他视图中加载视图(project_template)。 我的问题是,我如何将我的$ project-variable提供给我在主视图中使用"查看:make"。

创建的项目。

其实我用的 - >在($项目) 但是当我尝试在我的template_view中使用它时,我得到一个非对象错误 我也用过" compact"对我来说也没用。

在我的主视图中,我可以使用$ project-variable而不会出现问题

查看:

@foreach($projects as $project)
<tr class="gradeA">
   <td>
   <td>{!! $project->description !!}</td>
   <td>
      {!! View::make('shared.tables.project_template')->with($project)->render() !!}
   </td>
</tr>
@endforeach

Project_Template - 视图:

{!! $project->project_name !!}

错误-消息

ErrorException in 0f9dcdc70fd0be3b50d7a39ad7bc90d7 line 4:
Trying to get property of non-object 

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

更改为:

@foreach($projects as $project)
<tr class="gradeA">
   <td>
   <td>{!! $project->description !!}</td>
   <td>
         @include('shared.tables.project_template')
   </td>
</tr>
@endforeach

答案 1 :(得分:0)

只需使用@include(viewName, [data])

这意味着,在您的情况下:

@include('shared.tables.project_template', ['project' => $project])