Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 重新填充时发生Larvel错误:htmlentities()要求参数1为字符串,数组在中给出_Laravel - Fatal编程技术网

Laravel 重新填充时发生Larvel错误:htmlentities()要求参数1为字符串,数组在中给出

Laravel 重新填充时发生Larvel错误:htmlentities()要求参数1为字符串,数组在中给出,laravel,Laravel,我注意到,每当我使用withInput()重定向回输入表单出错时,总会出现一个非常常见的错误。即 htmlentities() expects parameter 1 to be string, array given (View:[path]) 我已经意识到,只有当我使用withInput()重定向时,才会(通常)发生这种情况,但如果我不使用它,则不会发生错误,Firld也不会重新填充。然而,直到昨天我想放弃它,我才知道为什么会发生这种情况,这就是我对它的看法。 我表单中的一个输入字段是一个

我注意到,每当我使用
withInput()
重定向回输入表单出错时,总会出现一个非常常见的错误。即

htmlentities() expects parameter 1 to be string, array given (View:[path])
我已经意识到,只有当我使用
withInput()
重定向时,才会(通常)发生这种情况,但如果我不使用它,则不会发生错误,Firld也不会重新填充。然而,直到昨天我想放弃它,我才知道为什么会发生这种情况,这就是我对它的看法。

我表单中的一个输入字段是一个文本框数组,因此它在所有字段中都有相同的名称,如
省[]
。请记住,Laravel的
输入
facade将把它作为一个变量获取,在重定向时,它将使用这个变量“返回”(本质上是一个数组),并使用第一个名为数组的字段加载它(
省份
)。重新填充时,Laravel将(我认为)将原始字段值传递给
e()
helper函数(
htmlentities()
),该函数期望参数1为字符串,但数组是给定的。 我是如何解决的:我重命名了字段,这样我就不会使用数组作为它们的名称,这样所有字段都有一个不同的名称。这对我很管用。 如果我的推理有缺陷,你可以用爱(和对泰勒的尊重)来纠正我;-)
(正如在中所说,在
表单::input()
中只给出了三个参数而不是四个参数时,也会出现这种情况。)

我也有同样的问题,但当我搜索此错误时,我发现Laravel输入字段期望参数2为值,参数3为属性数组。因此,当您将属性传递到值应该位于的位置时,htmlspecialchars将翻转。或者只需从控制器重定向方法中删除withInput选项即可

遇到同样的问题,在这种情况下不能真正使用数组,因此不确定我能做什么。别名,这里也有同样的问题。请链接到线程,如果你打开了这个!