当我将数据的关联数组传递给控制器时,其显示错误为'尝试获取非对象属性'我的控制器功能是
public function storeWBS(Request $request) {
foreach($request->all() as $value){
$formValue = new WorkBreakdownStructure;
$formValue->form_field_id = $value->idea_id;
$formValue->value = $value->wbs_description;
$formValue->save();
return back();}
}
我已经在模型中设置了变量"可填充"
'id','form_field_id','值'如果我用DD()打印'$formValue',我会得到结果
#parameters: array:4 [▼
"_token" => "u6iwKspevWLiuI6CRPhd82c8xm0EYb6IGQQJX2aR"
"idea_id" => array:3 [▼
0 => "1"
1 => "1"
2 => "1"
]
"wbs_description" => array:3 [▼
0 => "Work Breakdown Structure #1 :"
1 => "Work Breakdown Structure #2"
2 => "Work Breakdown Structure #3"
]
"percentage" => array:3 [▼
0 => "50"
1 => "12"
2 => "12"
]
]
all()
返回数组,而不是对象,因此您无法像现在这样访问它:
.... = $value->idea_id;
相反,您需要更改它并使用数组语法:
.... = $value['idea_id'];
编辑
您还应该删除forach()
,因为您基本上是在毫无意义的数组上迭代:
public function storeWBS(Request $request) {
$value = $request->all();
$formValue = new WorkBreakdownStructure;
$formValue->form_field_id = $value->idea_id;
$formValue->value = $value->wbs_description;
$formValue->save();
return back();
}
此外,您还需要修复return back();
线路。无论back()
指的是什么,您很可能调用错误。