我目前正在开发一个Laravel 5.5项目,并且我对特定的json请求有一种奇怪的行为。
我的json:
{
first_name:"MYFIRSTNAME",
last_name:"MYLASTNAME",
location:{
data: {
address:"3 something street",
postal_code:"42000",
lng_lat:"-1.8263223,43.2150621"
}
},
profile_picture:"http://linktoprofilepic.jpg",
stats:{
data: {
stat1:335,
stat2:312,
stat3:32
}
},
verification_text:"#trend"
}
所以我将上述JSON作为PUT请求发送给我的控制器,目前没有任何验证规则。使用Laravel的调试功能 dd($ request-> all())在我的控制器中进行调试时,我得到以下信息:
array:5 [
"first_name" => "MYFIRSTNAME"
"last_name" => "MYLASTNAME"
"profile_picture" => "http:linktoprofilepic.jpg"
"" => array:1 [
"data" => array:3 [
"stat1" => 335
"stat2" => 312
"stat3" => 32
]
]
"verification_text" => "#trend"
]
如您所见,嵌套对象位置不存在,嵌套对象 stats 现在有一个空字符串作为属性名称。我不确定我做错了什么,或者Laravel不支持嵌套对象?请有人在这个问题上给我启发。 THX
答案 0 :(得分:0)
好的,我想出了问题, @James thx对你的关注!你说的是帮我找到问题的。你说“我怀疑Laravel正在破坏收到的数据。”你是对的。我实际上正在使用一个转换请求数据属性名称的中间件,并且这个中间件是在路由中设置的,因此我完全错过了它并忘了它。这有点尴尬^^谢谢你的帮助!