我在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,我不知道如何编辑这个表单。
答案 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>