我为我的表单使用相同的HTML,有两种模式,添加和编辑。在编辑模式下,值将被填入。
<input type="text" name="title" placeholder="Title" value="{{ $data->title }}">
$ data不存在时的上述错误,所以我:
<input type="text" name="title" placeholder="Title" value="{{ $data->title or '' }}">
我只是想知道有更好的方法吗?因此,在添加模式下,不会显示任何值。
答案 0 :(得分:0)
更好的方法是使用Laravel提供的FormBuilder。这样,您可以使用表单模型绑定自动填充表单。要分割创建和编辑表单,我通常会创建一个包含我的表单的_form.blade.php文件。然后,我创建了两个视图,一个是create.blade.php和edit.blade.php。在这些观点中,我提出了类似的内容:
// From create.blade.php
{{ Form::open([ 'route' => 'resource_name.store', 'method' => 'POST' ]) }}
@include('_form')
{{ Form::close() }}
// From edit.blade.php
{{ Form::model($data, [ 'route' => 'resource_name.update', 'method' => 'PUT' ]) }}
@include('_form')
{{ Form::close() }}
// From _form.blade.php
{{ Form::text('title', null, [ 'placeholder' => 'Title' ]) }}
注意:我在视图名称前添加一个下划线,将其标记为部分,只是我采用的约定
使用此方法时,您可以为创建和编辑重复使用相同的表单,这样可以使其易于维护。
通过对编辑表单使用Form :: model()方法,Laravel将自动将提供的模型(在您的情况下为$ data变量)绑定到输入。
答案 1 :(得分:0)
{{$ data-&gt; title}}您可以使用If条件来实现这一点,已经在几种开发技术中使用过。
<?php if (empty($name)) {
echo ''
}
else {
echo '$data->title';
&GT;