如何在laravel中将对象数组保存到mysql数据库? [英] How to save array of objects to mysql database in laravel?

查看:135
本文介绍了如何在laravel中将对象数组保存到mysql数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在与laravel一起使用vue.我正在尝试保存对象数组,但我无法保存单个对象,但无法做到这一点.这是我的代码App.vue

I am using vue with laravel. I am trying to save array of objects but not able to do it though i am able to save single object. Here is my code App.vue

// Not working
saveData(){
  this.axios.post('/addperson', **this.rows**).then((response) => {
    console.log("WOW");
  })
}

//working
    saveData(){
      this.axios.post('/addperson', **this.rows[0]**).then((response) => {
        console.log("WOW");
      })
    }

这是控制器代码,在传递数组时出现错误.

Here is controller code where i am getting error when i pass array.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\OrderPerson;

class PersonController extends Controller
{
  public function create(Request $request){

      $person = new Person([
        'name' => $request->get('name'),
        'age' => $request->get('age'),
        'user_id' =>$request->get('user_id')''
      ]);

      $person->save();
    return response()->json('Successfully added');
  }
}

有人能帮助我保存阵列吗?

Can any body help me to save the array?

推荐答案

首先将所有 this.rows 分配给一个数据集,然后将其推入axios调用,如下所示:

First of all assign all the this.rows to a data set then push it to the axios call something like this:

saveData(){
    const postData = {
            data: this.rows
        }
  this.axios.post('/addperson', postData).then((response) => {
    console.log("WOW");
  })
}

现在,在 laravel 控制器中,您可以使用 foreach 来使用此数据集.

Now in laravel controller you can use foreach to use this data set.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\OrderPerson;

class PersonController extends Controller
{
  public function create(Request $request){

    foreach($request->data as $data)
    {
        $container = new Person([
            'name' => $data['name'],
            'age' => $data['age'],
            'user_id' => $data['user_id']
          ]);

        $container->save();
    }

    return response()->json('Successfully added');
  }
}

希望这会有所帮助.

这篇关于如何在laravel中将对象数组保存到mysql数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆