Laravel表单模型绑定未显示数据

时间:2016-06-04 14:29:25

标签: laravel model-binding

我正在尝试构建一个网站,并且我想要利用Form模型绑定

我在RouteServiceProvider的boot方法中设置了' material'之间的绑定。和' App \ Material'类

这是创建表格:

{!! Form::open(array('url'=>'material', 'files' => true, 'class' => 'form-horizontal')) !!}
@include('admin_panel.partials.material_form',['submitButtonText' => 'Add'])
{!! Form::close() !!}

这是包含文件:

{!! Form::label('title','Title',array('class' => 'control-label col-sm-2')) !!}
{!! Form::text('title','',array('class' => 'form-control')) !!} 
{!! Form::label('published_at', 'Ready on:') !!}
{!! Form::input('date', 'published_at', date('Y-m-d'), ['class' => 'form-control']) !!}
{!! Form::label('file','Choose the material: ',array('class' => 'col-sm-2')) !!}
{!! Form::file('file') !!}
{!! Form::submit($submitButtonText, array('class' => 'btn btn-warning')) !!}

创建材料并将其保存到数据库的操作非常有效。

当我想在MaterialController的edit方法中调用编辑视图之前编辑素材时,我使用dd($ material)来检查它是否是正确的对象。屏幕上对象中的属性(title,published_at,...)是正确的,所以我确信我传递给编辑视图的对象是正确的。

当我打电话给编辑视图时我打印{!! Form前面的$ material-> title !!}和字符串是正确的。这是表格:

{!! Form::model($material, array('method' => 'PATCH', 'route'=>array('material.update', $material), 'files' => true, 'class' => 'form-horizontal')) !!} 
@include('admin_panel.partials.material_form',['submitButtonText' => 'Update']); 
{!! Form::close() !!}

问题是我在表格的字段中看不到任何内容......

我不知道我犯了什么错误。

谢谢。

1 个答案:

答案 0 :(得分:0)

我犯了一个愚蠢的错误。

在include表单的Form :: text(我认为也是其他字段)中,我强制使用第二个参数(输入文本表单中显示的文本为空而不是NULL,从而覆盖了绑定的值模型。

我的错误。