2016-03-05 193 views
-1

我嘗試在其他視圖中加載視圖(project_template)。 我的問題是,我怎麼能給我的$ project變量到'project_template'視圖,我在「View:make」的主視圖中創建了這個視圖。將變量傳遞給其他視圖

其實我使用 - >使用($項目) 但是當我嘗試在我的template_view使用它,我得到一個非對象錯誤 我也用「緊湊」什麼也沒有爲我工作。

在我的主視我可以使用$項目變量沒有問題

查看:

@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 

謝謝f或幫助!

+0

laravel?刀片不能使用View :: make。 – WeiYuan

回答

1

改成這樣:

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

謝謝,但問題是,我需要將值傳遞給名爲$ project的子視圖(project_template)。 – Luca

+1

只需在你的子視圖中使用該變量,它將在那裏可用。當你包含一個像我所展示的視圖時,該變量($ project)將在父視圖的作用域中。所以試試這個,它會起作用。沒有其他改變 –

+0

哦,這麼容易:)非常感謝,我花了很多時間在這個問題上... – Luca

0

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

這意味着,你的情況:

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