将模型中的空值加载到 Laravel 5 Blade 模板中的标签

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

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

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

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

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

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

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

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

然后将其传递给您 blade:

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

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