【问题标题】:Load empty value from model to Label in Laravel 5 Blade template在 Laravel 5 Blade 模板中从模型加载空值到标签
【发布时间】:2016-11-25 09:18:20
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: php laravel blade


    【解决方案1】:

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

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

    然后将它传递给你的刀片使用:

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

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

    【讨论】:

    • 是的,这是简单的解决方案。在这种情况下,我将在刀片模板中使用简写检查空,这样我就不必将变量一个一个地传递给刀片。无论如何,我想看看是否有解决方案,这样我就不必每次使用另一个新模型时都编写一组检查空字符串逻辑。
    • 为了避免每次都检查空字符串,我通过将标签控件替换为文本控件并将其设置为只读来实现。 {!! Form::text('textOccupation',$mastermodel->occupation,['style'=>'background-color:#BCBCBC','readonly']) !!}
    猜你喜欢
    • 2015-09-12
    • 1970-01-01
    • 2015-07-15
    • 2016-01-21
    • 2016-06-18
    • 2016-12-18
    • 2019-02-28
    • 2017-07-29
    • 2017-09-10
    相关资源
    最近更新 更多