为foreach()Axios Laravel提供的参数无效
我有一个Vue.js表单,我使用Axios提交表单。我能够将数据保存到我的数据库中。但是,当我想保存动态添加的输入字段时,会收到此错误消息 为foreach提供的参数无效 问题是它不是数组,但它应该是数组。如您所见,我希望使用Axios将teams[]阵列从Vue组件发送到Laravel后端。当i console.log团队[object object],[object object]时 app.js Controller.php为foreach()Axios Laravel提供的参数无效,laravel,vue.js,vuejs2,axios,Laravel,Vue.js,Vuejs2,Axios,我有一个Vue.js表单,我使用Axios提交表单。我能够将数据保存到我的数据库中。但是,当我想保存动态添加的输入字段时,会收到此错误消息 为foreach提供的参数无效 问题是它不是数组,但它应该是数组。如您所见,我希望使用Axios将teams[]阵列从Vue组件发送到Laravel后端。当i console.log团队[object object],[object object]时 app.js Controller.php $csapat = (json_decode($data['t
$csapat = (json_decode($data['teams']));
if (is_array($csapat) || is_object($csapat)) {
// in this contition, foreach gonna work only array or object exist
foreach ($csapat as $teams) {
$team = new Team();
$team->ico_id = $ico->id;
$team->tmembername = $teams->name;
$team->save();
}
}
谢谢哈桑的帮助。 问题是this.teams是一个对象数组-它只是尝试将对象转换为字符串,因此得到[Object Object]。 所以我不能这么做:
formData.append('teams', this.teams);
我必须:
var teammemb = JSON.stringify(this.teams);
然后:
在我的RegisterController.php上
$csapat = (json_decode($data['teams']));
if (is_array($csapat) || is_object($csapat)) {
// in this contition, foreach gonna work only array or object exist
foreach ($csapat as $teams) {
$team = new Team();
$team->ico_id = $ico->id;
$team->tmembername = $teams->name;
$team->save();
}
}
它现在可以工作了。你能转储$format['teams']并向我们显示输出吗?因为它不是数组或对象,所以foreach不能循环迭代它这是dd[teams]=>string31[object object],[object object]就像axios无法通过对象发送一样,它将对象转换为字符串,但我不知道为什么可以将内容类型定义为application/json。我知道它是application/json,只是以防万一,
formData.append('teams', teammemb);
$csapat = (json_decode($data['teams']));
if (is_array($csapat) || is_object($csapat)) {
// in this contition, foreach gonna work only array or object exist
foreach ($csapat as $teams) {
$team = new Team();
$team->ico_id = $ico->id;
$team->tmembername = $teams->name;
$team->save();
}
}