Home > Enterprise >  How can i recieved the array from controller to api and received as json and decode as array and ins
How can i recieved the array from controller to api and received as json and decode as array and ins

Time:01-22

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

  •  Tags:  
  • Related