将空值从模型加载到Laravel 5 Blade模板中的Label


Load empty value from model to Label in Laravel 5 Blade template

试图在Laravel 5 Blade模板中显示从Model到html控件的空字符串。

{!!形式::label("标签职业",$mastermodel->职业,["样式"=>"背景颜色:#BCBCBC'])!!}

{!!形式::text('textOccupation',$mastermodel->occupation,['style'=>'background-color:#BCBCBC'])!!}

文本和标签控件都可以正确显示职业字段的值。但是,当值为空字符串时,标签控件将显示"职业"字样,而文本控件仍然可以显示为空。

这是否意味着每次将值加载到标签中时,我都必须检查Model中是否存在空字符串?还有其他更容易处理这种情况的方法吗?

在传递表单上的标签之前,您可以在控制器上执行此操作:

if(empty($mastermodel->occupation) {
    $occupation_label = 'occupation';
} else {
    $occupation_label = $mastermodel->occupation;
}

然后将其传递到您的刀片中使用:

{!! Form::label('labelOccupation',$occupation_label,['style'=>'background-color:#BCBCBC']) !!}

我认为这是实现这一目标最简单的方法。