Neethu Ah's avatar

if/ elseif /else not working

if and elseif conditons are working in controller but "else" is not working it return undefined value message public function addJobdue(Request $request) { $m= auth()->user()->shopID; $sdate=date('Y-m-d'); $array = $request->banks;

         if(in_array('CASH', $array))
         {
             if($request->txtcach == "")
             {
                 return response()->json(['msg'=>'Payment Faild Please Enter Currect Data']);
             }
             
         }
         else if(in_array('HDFC', $array))
         {
              if($request->txthdfc == "")
             {
                 return response()->json(['msg'=>'Payment Faild Please Enter Currect Data']);
             }
         }
          else if(in_array('GPAY', $array))
         {
              if($request->txtgpay == "")
             {
                 return response()->json(['msg'=>'Payment Faild Please Enter Currect Data']);
             }
         }
         else if(in_array('AXIS', $array))
         {
              if($request->txtax == "")
             {
                 return response()->json(['msg'=>'Payment Faild Please Enter Currect Data']);
             }
         }
         
         else 
         {
             return response()->json(['msg'=>'Jobcard  Payment Faild']);
                $input['shopid'] = $m;
                $input['jobcardid'] = $request->jobcardid;
                $input['estimation'] = $request->estimation;
                $input['advance'] = $request->advance;
                $input['payment'] = $request->balance;
                $input[ 'sDate'] =$sdate;
                $input['paymentmethod'] = implode(',',$array);
                 $sucess= Jobcardpayment::create($input);
                if($sucess)
                    {
                        return response()->json(['msg'=>'Customer is successfully submitted!']);
                    }
                else
                    {
                         return response()->json(['msg'=>'Jobcard  Payment Faild']);
                    }
        }
      //  return response()->json(['msg'=>'Jobcard  Payment Faild']);

}

0 likes
3 replies
tykus's avatar

You have multiple situations where you can reach a deadend... for example, if you in_array('CASH', $array) is true, but $request->txtcach == "" is false; nothing happens:

if(in_array('CASH', $array)) {
    if ($request->txtcach == "") {
        return response()->json(['msg'=>'Payment Faild Please Enter Currect Data']);
    }
    // or????
}

That's it... execution finished; your method returns nothing...

And this is the same for multiple other blocks

Snapey's avatar

none of this code

 $input['shopid'] = $m;
                $input['jobcardid'] = $request->jobcardid;
                $input['estimation'] = $request->estimation;
                $input['advance'] = $request->advance;
                $input['payment'] = $request->balance;
                $input[ 'sDate'] =$sdate;
                $input['paymentmethod'] = implode(',',$array);
                 $sucess= Jobcardpayment::create($input);
                if($sucess)
                    {
                        return response()->json(['msg'=>'Customer is successfully submitted!']);
                    }
                else
                    {
                         return response()->json(['msg'=>'Jobcard  Payment Faild']);
                    }

is ever executed since the return statement before it exits the function

Snapey's avatar

it return undefined value message

you don't have message anywhere in your code

Please or to participate in this conversation.