Laravel Array在多个记录上进行字符串转换

问题描述 投票:0回答:2

我正试图一次性提供多个记录..

当我尝试存储多个记录时,它会给出数组到字符串转换的错误。

这是我从axios得到的回应。

array:2 [
  0 => array:3 [
    "property_type_id" => 2
    "fee_value" => "123"
    "product_service_id" => 1
  ]
  1 => array:3 [
    "property_type_id" => 1
    "fee_value" => "3333"
    "product_service_id" => 1
  ]
]
$feeByPropertyType = $request->feeByPropertyType;

        foreach ($feeByPropertyType as $row)
        {
            $data[] = [
                'property_type_id' => $row['property_type_id'],
                'fee_value' => $row['fee_value'],
                'product_service_id' => 1
            ];
        }
PaymentTypeProductService::insert($data);

我也尝试过其他几种方法,但到目前为止还没有一种方法可以使用。

如何纠正这一点,将非常感谢社区的任何帮助。

mysql laravel vue.js laravel-5 eloquent
2个回答
0
投票

你需要格式化你的$data就像这样。

[
  [
    'property_type_id' => 2,
    'fee_amount' => "123"
  ],
  [
    'property_type_id' => 1,
    'fee_amount' => "1312"
  ],
]

0
投票

在这种情况下,如果$request->feeByPropertyType数据结构的数据结构与数据库表结构匹配,那么您可以简单地使用DB facade一次插入多行。

DB::insert($request->feeByPropertyType);
© www.soinside.com 2019 - 2024. All rights reserved.