我有一个输入字段,我从控制器传递一个数组作为隐藏输入,但它给出了这个给定数组的错误。
我的观点代码是
<input type="hidden" name="DiseaseDiagnosed[]" value="{{$DiseaseDiagnosed}}">
将值传递给视图的控制器代码是
return view('/doctorPanel/diagnoseDisease', ['chart' => $chart, 'patient' => $patient, 'symptomsStated' => $symptomsStated, 'DiseaseDiagnosed' => $DiseaseDiagnosed]);
请告诉我为什么会收到此错误
答案 0 :(得分:2)
<input type="hidden" name="DiseaseDiagnosed[]" value="{!! jsond_encode($DiseaseDiagnosed) !!}">
实际上,您的输入是DiseaseDiagnosed
是一个返回查看的数组。
所以你必须使用{{ json_decode($DiseaseDiagnosed) }}
您也可以尝试
@foreach($DiseaseDiagnosed as $disease)
<input type="hidden" name="DiseaseDiagnosed[]" value="{{ $disease }}">
@endforeach
答案 1 :(得分:1)
刀片模板引擎正在产生此错误。你无法使用{{ }}
打印这样的数组。传递此值时,您可以使用'DiseaseDiagnosed'=>json_encode($DiseaseDiagnosed])
对其进行编码,然后您可以使用该语法。之后,当您想要使用此值时,请不要忘记使用json_decode()
答案 2 :(得分:0)
要创建包含输入的数组,您需要在数组中为 ach值提供 1输入。当它只接受字符串时,你在值上附加一个数组,这就是为什么它会警告你在期望一个字符串时给出了一个数组。
正如@Adnan建议您可以使用以下方法解决此问题:
@foreach($DiseaseDiagnosed as $disease)
<input type="hidden" name="DiseaseDiagnosed[]" value="{{ $disease }}">
@endforeach
然后在您的控制器中,您将收到数组DiseaseDiagnosed以及您插入的所有值,例如:您将收到同一阵列中的所有值 - &gt;
dd($request->DiseaseDiagnosed);
// You will see this is an array with all the values