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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel Array在多个记录上进行字符串转换相关的知识,希望对你有一定的参考价值。

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

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

这是我从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);

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

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

答案

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

[
  [
    'property_type_id' => 2,
    'fee_amount' => "123"
  ],
  [
    'property_type_id' => 1,
    'fee_amount' => "1312"
  ],
]
另一答案

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

DB::insert($request->feeByPropertyType);

以上是关于Laravel Array在多个记录上进行字符串转换的主要内容,如果未能解决你的问题,请参考以下文章

关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录

Laravel Eloquent 在 whereHas() 上进行选择

Laravel - 无法使用用户名在 SMTP 服务器上进行身份验证

无法在 Laravel 6 中的 SMTP 服务器上进行身份验证

MongoDB 和 Artisan 在 Laravel 5 和 Lumen 上进行迁移

在 g++ 上进行聚合初始化的 std::array 会生成大量代码