Laravel - 如何将变量添加到输入名称

时间:2018-01-08 11:53:18

标签: php laravel laravel-blade

我正在尝试将一个变量添加到输入名称,如下所示:

{!! Form::text('material[{{$num}}]', old('material[{{$num}}]'), ['class' => 'form-control', 'placeholder'=> '']) !!}

但是在html中,它返回了我:

<input class="form-control" placeholder="" name="material[<?php echo e($num); ?>]" type="text">

我不明白这是什么问题。

我该如何解决?

谢谢

4 个答案:

答案 0 :(得分:4)

您无法嵌套{{ }}

如果你想得到这个:

name="material[1]" 

正确的语法是:

{!! Form::text('material[' . $num . ']', old('material[' . $num . ']'), ['class' => 'form-control', 'placeholder'=> '']) !!}

答案 1 :(得分:2)

试试这个:

 {!! Form::text('material['.$num.']', old('material['.$num.']'), ['class' => 'form-control', 'placeholder'=> '']) !!}

当你使用{{ }}{!! !!}意味着你已经在php范围内并且你可以放任何PHP代码

答案 2 :(得分:0)

如果材质是一个数组,那么它应该是

{!! Form::text('material[$num]', old('material[$num]'), ['class' => 'form-control', 'placeholder'=> '']) !!}

答案 3 :(得分:0)

您无法在{{}}

中使用{!! !!}

您使用

{!! Form::text('material[' . $num . ']', old('material[' . $num . ']'), ['class' => 'form-control', 'placeholder'=> '']) !!}

或者

{!! Form::text('material[$num]', old('material[$num]'), ['class' => 'form-control', 'placeholder'=> '']) !!}