Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
Php 受保护的财产不受请求_Php_Laravel - Fatal编程技术网

Php 受保护的财产不受请求

Php 受保护的财产不受请求,php,laravel,Php,Laravel,我有一个Axios post请求,它会向我的Laravel后端发送一个电话号码。在我删除数据库中的一列之前,它一直运行良好。它仍然返回201,但该值未更新。当我dd()请求时,它现在是受保护的属性,而不是以前的属性: #json: Symfony\Component\HttpFoundation\ParameterBag {#35 #parameters: array:1 [ "field" => array:2 [ "phone_number" =&g

我有一个Axios post请求,它会向我的Laravel后端发送一个电话号码。在我删除数据库中的一列之前,它一直运行良好。它仍然返回201,但该值未更新。当我
dd()
请求时,它现在是受保护的属性,而不是以前的属性:

#json: Symfony\Component\HttpFoundation\ParameterBag {#35
    #parameters: array:1 [
      "field" => array:2 [
        "phone_number" => "079600565197"
        "id" => 35
      ]
    ]
  }
因此,在我能够做到之前:

$account->phone_number = $request->get('phone_number');
$account->save();
它只保存
null

当我在devtools中检查请求时,它看起来很好:

field: {phone_number: "07960065197", id: 35}
但我无法访问
字段中的数据


有没有一种方法可以将其转换回以前的状态,或者直接访问嵌套数据?任何提示都会有很大帮助。

您正在将
'phone\u number'
属性嵌套在
'field'
属性中

要从请求中检索嵌套属性,请执行以下操作:

$request->input('field.phone_number')

我很确定这是因为您正试图从url查询属性中获取
'phone\u number'
属性。尝试这样做:
$request->input('phone_number')
而不是
$request->get('phone_number')
。由于某些原因,它仍然返回null。很抱歉,它应该返回
get()
仍然应该返回正确的输入。看起来您的
'phone\u number'
属性嵌套在
'field'
中。试试:
request->input('field.phone_number')
What$request->get('phone_number');如果您添加它,它会返回吗?如果我将它更改为
$request->field['phone\u number']
它会工作,但不知道为什么会更改。谢谢Robert,这很有效。这样做:
$request->field['phone\u number']
。但仍然不知道为什么会改变。没问题,可能是因为前端的ajax请求中的某些代码发生了更改。