In case if someone needs the solution below is the complete code.
public function ajaxdata(Request $request){
$data= json_decode($request->id,true);
foreach ($data as $key => $value) {
if(isset($value['values'])){
foreach ($value['values'] as $group) {
if($group['selected']==true && $value['name']=='group'){
$s_group_id = $group['value'];
}
}
// major if ending for values checking
}
$value_label[] = $value['label'];
$value_name[] = $value['name'];
$value_type[] = $value['type'];
if(isset($value['values'])){
$value_values[] = $value['values'];
}
// major foreach ending
}
// query for create survey_ table
$id = DB::table('survey_records')
->insertGetId(array(
's_assign_by' => Auth::user()->user_type,
's_group_id' => $s_group_id,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// // query for creating survey_fields
$row = count($value_label);
$textcounter = 0;
$selectoncounter = 0;
$radiocounter = 0;
$passwordcounter = 0;
$textareacounter = 0;
$checkboxcounter=0;
$counter;
$field_number;
for($i=0;$i<$row;$i++){
if($value_type[$i]=='text'){
$textcounter++;
$counter = $textcounter;
$field_number=1;
}
elseif($value_type[$i]=='select') {
$selectoncounter++;
$counter = $selectoncounter;
$field_number=2;
}
elseif($value_type[$i]=='radio-group'){
$radiocounter++;
$counter = $radiocounter;
$field_number=3;
}
elseif($value_type[$i]=='textarea'){
$textareacounter++;
$counter = $textareacounter;
$field_number=4;
}
elseif($value_type[$i]=='checkbox-group'){
$checkboxcounter++;
$counter = $checkboxcounter;
$field_number=5;
}
$field_id = DB::table('survey_fields')
->insertGetId(array(
'survey_id' => $id,
'field_number' => $field_number,
'field_label' => $value_label[$i],
'field_type' => $value_type[$i],
'field_added_by' => Auth::user()->user_type,
'field_counter' => $counter,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// database query for option_fields
if($value_type[$i] =='text'){
$opt_id = DB::table('survey_options')
->insertGetId(array(
'survey_id' => $id,
'field_id' => $field_id,
'opt_heading' => $value_label[$i],
'opt_added_by' => Auth::user()->user_type,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// if text and textarea ending
}
if($value_type[$i] =='textarea'){
$opt_id = DB::table('survey_options')
->insertGetId(array(
'survey_id' => $id,
'field_id' => $field_id,
'opt_heading' => $value_label[$i],
'opt_added_by' => Auth::user()->user_type,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// if textarea ending
}
elseif($value_type[$i] =='select'){
$select_label =$data[$i]['values'];
// $selectrow = count($select_label);
$selectrow = count($select_label);
for($j=0;$j<$selectrow;$j++){
$opt_id = DB::table('survey_options')
->insertGetId(array(
'survey_id' => $id,
'field_id' => $field_id,
'opt_heading' => $select_label[$j]['label'],
'opt_added_by' => Auth::user()->user_type,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// for ending for select
}
// elseif ending
}
elseif($value_type[$i] =='checkbox-group'){
$check_label =$data[$i]['values'];
$checkrow = count($check_label);
for($k=0;$k<$checkrow;$k++){
$opt_id = DB::table('survey_options')
->insertGetId(array(
'survey_id' => $id,
'field_id' => $field_id,
'opt_heading' => $check_label[$k]['label'],
'opt_added_by' => Auth::user()->user_type,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// for ending for checkbox
}
// elseif ending
}
elseif($value_type[$i] =='radio-group'){
$radio_label =$data[$i]['values'];
$radiorow = count($radio_label);
// $radioroworg[] = $value_values[$i];
// $radiorow = count($radioroworg);
for($l=0;$l<$radiorow;$l++){
$opt_id = DB::table('survey_options')
->insertGetId(array(
'survey_id' => $id,
'field_id' => $field_id,
'opt_heading' =>$radio_label[$l]['label'],
'opt_added_by' => Auth::user()->user_type,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
// for ending for radio
}
// elseif ending
}
// ending main for loop
}
// dd(json_decode($true));
return response()->json($data);
}
Populated tables images
