Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
228 views
in Technique[技术] by (71.8m points)

php - How to insert mult array values in db using laravel

I'm trying to insert data in DB with three entries. But only one row insert in DB with this code.

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

This arrays I want in DB against one id :

enter image description here

question from:https://stackoverflow.com/questions/65931629/how-to-insert-mult-array-values-in-db-using-laravel

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

use array_map with 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) {
    AppPayees_amount::create([
        'add_payee' => $value['pay'],
        'building_id' => $parent_id,
        'payee_amount' => $value['amount'],
    ]);
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...