未在Form :: label中显示值“ 0”

时间:2018-10-30 12:44:02

标签: php laravel laravelcollective

因此,我一直试图以多种不同方式在该标签中添加零。

这就是我想要做的。

该标签应保留锚点的值。这个锚点阻止了他们标记的重量。 (使排序更容易,更轻松。)

现在,所有标签的默认值均为零。这就是标签必须保留的内容。 但是,每当我输入0作为值时,它将显示标签名称。

这是我尝试过的事情:

{{Form::label($tag->value . '_anchor', '0')}}
{{Form::label($tag->value . '_anchor', 0)}}
{{Form::label($tag->value . '_anchor', "0")}}

甚至试图愚弄它:

{{Form::label($tag->value . '_anchor', function(){
                            return 0;})}}

这是所请求的原始代码:

<div class="form-group">
        @if(count($tags) > 0)
            <div class="col-md-2">
                @foreach($tags as $tag)
                    <div class="tags" style="float: none;">
                        {{Form::label($tag->value, $tag->value)}}
                        {{Form::checkbox($tag->value, $tag->id, false)}}
                        <div>
                            <span class="glyphicon glyphicon-play reverse"></span>
                            {{Form::label($tag->value . '-anchor', 1)}}
                            {{Form::hidden($tag->value . '_anchor', 0)}}
                            </span><span class="glyphicon glyphicon-play"></span>
                        </div>

                    </div>
                @endforeach
            </div>
        @endif

    </div>

有人知道如何在标签中得到零值吗?其他任何数字都可以正常显示。

这里是我得到的和我期望的照片。如1所示,它工作正常。 enter image description here

希望你们能有所帮助。如果您需要更多代码或信息,请询问。

1 个答案:

答案 0 :(得分:2)

Laravel运行标签名称through formatLabel

protected function formatLabel($name, $value)
{
    return $value ?: ucwords(str_replace('_', ' ', $name));
}

因为此检查使用了非严格比较(==而不是===),所以$value为零被视为false(false-y!)值,因此它使用标签调用的 first 参数而不是 second

(Laravel这样做的目的是,您可以完全省略第二个参数,而只是使用字段名称来最好地猜测标签应该说什么。) < / p>

您最简单的选择是自己输出<label for="foo_anchor">0</label>原始HTML。