如何使用laravel在db中插入多个数组值

时间:2021-01-28 05:45:54

标签: php laravel

我试图在数据库中插入三个条目的数据。但是使用此代码仅在数据库中插入一行。

$parent_id = $object->id;
$amounts = $request->amount;
$payess = $request->add_payee;
dd($amounts,$payess);
foreach ($payess as $key => $ids) {
    App\Payees_amount::create([
        'add_payee' => $ids[$key],
        'building_id' => $parent_id,
        'payee_amount' => $amounts[$key],
    ]);
}

我想要在数据库中针对一个 ID 的这个数组:

enter image description here

1 个答案:

答案 0 :(得分:0)

使用 array_map 和 array_combine :

$parent_id = $object->id;
$amounts = $request->amount;
$payess = $request->add_payee;

$res = array_map(null, $payess , $amounts );
$keys = array("pay", "amount");
$res = array_map(function ($e) use ($keys) {return array_combine($keys, $e);}, $res);

foreach ($res as $key => $value) {
    App\Payees_amount::create([
        'add_payee' => $value['pay'],
        'building_id' => $parent_id,
        'payee_amount' => $value['amount'],
    ]);
}