繁体   English   中英

循环数组并将其插入数据库Laravel

[英]Looping array and inserting into database Laravel

我想遍历数组并将其插入数据库。 当我检查dd($ request-> users)时,它显示为“ NULL”,但是如果我将dd($ request-> all())放入,则出现数据数组。 另外,下面的控制器代码不会将数据插入数据库。 谢谢

脚本

<script>
export default {
    data(){
      return{  
            users: [{
                username:'',
                password:'',
                phone:'',
                email:''
            }]
      }
    },
    methods:{
        addMoreData(){
            this.users.push({
                username: '', 
                password: '' , 
                email: '',
                phone:''
                });
        },
        deleteData(index){
            this.users.splice(index,1)  
        },
        submitData(){
         axios.post('/api/user', this.users)
      }
    },
    mounted() {
        console.log('Component mounted.')
    }
}

调节器

    public function store(Request $request)
{   
    for ($i = 1; $i < count($request->all()); $i++) {
        data::create([
                'username'=>$request->username[$i],
                'password'=>$request->password[$i],
                'phone'=>$request->phone[$i],
                'email'=>$request->email[$i]
            ]);
    }
}

编辑

dd(request-> all()的结果

dd(request-> users的结果

我认为这应该在您的情况下有效。

public function store(Request $request)
{ 
   foreach($request->all() as $user){
      $u = User::create([
             'username'=>$user['username'],
             'password'=>$user['password'],
             'phone'=>$user['phone'],
             'email'=>$user['email']
      ])
     return ...
   }
}

但是,如果要从前端发送用户,则需要将用户放置在名为用户的新数组中。 祝好运。

如果您的数据使用此格式的图片,

在此处输入图片说明

在控制器中:

public function store(Request $request){   

    $users = $request->all();

    if(!empty($users)){
        foreach($users as $user){
           data::create($user);
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM