This is the array data from controller sent to api and i need to recieved that array to json and decode as array to insert multiple items/rows
{"payment_user":3,"pid":["1","2","3"],"isDiscounted":["1","1","1"],"discount":["1","1","1"],"scheme":["1","1","1"]}
I'm trying todo a for each loop using the id it's only saving one row what i want to do is insert multiple rows based on pid This my code from api
public function inspayment(Request $request){
$request->validate([
'payment_user' => 'required',
'pid' => 'required',
'isDiscounted' => 'required',
'discount' => 'required',
'scheme' => 'required',
]);
$payment_particular[] = '{
"info":{
"payment_user" => $request->payment_user,
"pid" => $request->pid,
"isDiscounted" => $request->isDiscounted,
"discount" => $request->discount,
"scheme" => $request->scheme
};
}';
foreach($payment_particular as $index => $pp) {
$insert = DB::table('tbl_payment_user_map')
->insertGetId([
'payment_user' => $request->payment_user,
'pid' => $request->pid[$index],
'isDiscounted' =>$request->isDiscounted[$index],
'discount' =>$request->discount[$index],
"scheme" => $request->scheme[$index],
]);
return response()->json(['Success' => 'Payment User Map Created Successfully'], 200);
}
}
CodePudding user response:
Try the below code
public function inspayment(Request $request){
$request->validate([
'payment_user' => 'required',
'pid' => 'required',
'isDiscounted' => 'required',
'discount' => 'required',
'scheme' => 'required',
]);
foreach($request->pid as $index => $pp) {
$insert = DB::table('tbl_payment_user_map')
->insertGetId([
'payment_user' => $request->payment_user,
'payment_particular' => $pp,
'isDiscounted' => $request->isDiscounted[$index],
'discount' => $request->discount[$index],
"payment_scheme" => $request->scheme[$index],
]);
}
return response()->json(['Success' => 'Payment User Map Created Successfully'], 200);
}
No need to have an extra Array
