为foreach()Axios Laravel提供的参数无效

为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

我有一个Vue.js表单,我使用Axios提交表单。我能够将数据保存到我的数据库中。但是,当我想保存动态添加的输入字段时,会收到此错误消息

为foreach提供的参数无效

问题是它不是数组,但它应该是数组。如您所见,我希望使用Axios将teams[]阵列从Vue组件发送到Laravel后端。当i console.log团队[object object],[object object]时

app.js

Controller.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();
  }
}

谢谢哈桑的帮助。 问题是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();
  }
}