0
我有許多我想要的產品窗體的表格。爲了方便起見,我希望他們能夠共享盡可能多的代碼可能,所以我打算使用後的葉片結構:Laravel窗體模型數據不傳播到刀片包含文件
/views/forms/template.blade.php
/views/forms/table1/edit.blade.php
/views/forms/table1/create.blade.php
/views/forms/table1/partials/_fields.blade.php
/views/forms/table2/edit.blade.php
/views/forms/table2/create.blade.php
/views/forms/table2/partials/_fields.blade.php
它使用這些觀點控制器,執行以下操作:
return View::make('forms.'.$viewForm.'.edit')->with('data', $data)
->with('viewForm', $viewForm)
$ viewForm將在我們的示例中包含'table1'或'table2'。 $數據將填充當前記錄或空記錄。
如果我創建以下文件:
/views/forms/table1/edit.blade.php
{{ dd($data); }}
然後我得到正確的輸出,即數據的相當混亂的表現。
如果我更換用下面的代碼:
@extends('forms.template')
@section('formcontent')
<div class='formfield'>
{{ Form::label('table1_field1','Code') }}
{{ Form::input('text','table1_field1') }}
{{ $errors->first('table1_field1') }}
</div>
@stop
並創建模板文件爲這樣:
/views/forms/template.blade.php
<h1>Edit</h1>
{{ Form::model($data,['method'=>'PATCH', 'url'=>route('table').'/'.$viewForm]) }}
@yield("formcontent")
<div class='formfield'>
{{ Form::submit('Edit',['class'=>'button']) }}
</div>
{{ Form::close() }}
然後我得到一個顯示空場,但沒有數據。但是,如果我移動從/table1/edit.blade.php以下
<div class='formfield'>
{{ Form::label('table1_field1','Code') }}
{{ Form::input('text','table1_field1') }}
{{ $errors->first('table1_field1') }}
</div>
到template.blade.php,那麼它包含的數據。
我可以通過將{{form}}移動到edit.blade.php來獲得這個工作,但這正是我想要避免的。我有什麼方法可以在template.blade.php中創建表單嗎?