Laravel Array для преобразования строк в несколько записей - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь восстановить несколько записей одновременно.

Когда я пытаюсь сохранить несколько записей, выдается ошибка преобразования массива в строку.

Это ответ, который я получаюfrom 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);

Я пробовал и несколько других методов, но пока ни один из них не работал.

Любая помощь от сообщества будет высоко оценена,как исправить это.

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

В этом случае, если структура данных структуры данных $request->feeByPropertyType совпадает со структурой таблиц базы данных, вы можете просто использовать фасад DB для вставки нескольких строк одновременно.

DB::insert($request->feeByPropertyType);
0 голосов
/ 13 апреля 2019

Вам нужно отформатировать $data, чтобы он был таким.

[
  [
    'property_type_id' => 2,
    'fee_amount' => "123"
  ],
  [
    'property_type_id' => 1,
    'fee_amount' => "1312"
  ],
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...