如何使用laravel中数据库表中的数据编辑表单

时间:2016-05-21 09:41:27

标签: php mysql laravel

我在laravel做项目。我想要编辑带有数据库表值的表单。

在控制器中,

$event_note = DB::table('event_note')->where('event_id',$id)->first();

我有 blade.php 文件,特别是textarea,

<div class="form-group clearfix{{ $errors->has('event_note') ? ' has-error' : '' }}">
       <label class="col-md-4 control-label">Note</label>
       <div class="col-md-6">
           <textarea class="form-control" name="event_note" rows="4" cols="50">{{ $event_note->note }}</textarea>

            @if ($errors->has('event_note'))
                   <span class="help-block">
                  <strong>{{ $errors->first('event_note') }}</strong>
                  </span>
            @endif
      </div>
</div>

但由于event_note没有任何记录,因此会抛出错误,

  

尝试获取非对象的属性(查看:....

表示变量$ event_note-&gt; note。

如果数据库表没有任何值,它应该显示一个空的textarea,我不知道如何编辑这个表单。

2 个答案:

答案 0 :(得分:3)

您可以使用or ''子句:

{{ $event_note->note or '' }}

这是此解决方案的Blade快捷方式:

{{ isset($event_note->note) ? $event_note->note : '' }}

答案 1 :(得分:0)

&#34;第一()&#34;将返回&#34; null&#34;如果在此数据库的数据库中找不到任何内容

试试这个:

<textarea class="form-control" name="event_note" rows="4" cols="50">{{ is_null($event_note) ? null : $event_note->note }}</textarea>