0

I have a form for adding cheques to a system. The form has two parts; part one is for the common info i.e the customer details and part two is for the unique details i.e cheque details. Multiple cheques can be added for the same user by clicking an Add button which generates duplicate inputs for the form. While saving the data on mysql database using Laravel, i got the error

"Undefined offset: 1"

Here is my laravel controller :

public function store(Request $request)
{
  $customer_name = $request->customer_name;
  $cheque_number=$request->cheque_number;
  $count = count($cheque_number);

    for($i = 0; $i < $count; $i++){
        $objModel = new Cheque();
        $objModel->customer_name = $customer_name[$i];
        $objModel->cheque_number = $cheque_number[$i];
        $objModel->save();
    }
}

My main challenge is each cheque number should be saved on a new row, but with the same customer name which is provided only once.

Vic
  • 108
  • 9

3 Answers3

1

try this one

public function store(Request $request)
{
  $customer_name = $request->customer_name;
  $cheque_number = $request->cheque_number;
  $count = count($cheque_number);

    for($i = 0; $i < $count; $i++){
       if(isset($cheque_number[$i])) {  //for check value is set or not..
          $objModel = new Cheque();
          $objModel->customer_name = $customer_name;  //same name
          $objModel->cheque_number = $cheque_number[$i]; //different number
          $objModel->save();  
       }
    }
}
Jignesh Joisar
  • 13,720
  • 5
  • 57
  • 57
0
public function store(Request $request){
 $customer_name = $request->get('customer_name');
 $cheque_number = $request->get('cheque_number');
 $count = count($cheque_number);

 for($i = 0; $i < $count; $i++){
  if(isset($cheque_number[$i])){
   $objModel = new Cheque();
          $objModel->customer_name = $customer_name;  //same name
          $objModel->cheque_number = $cheque_number[$i]; //different number
          $objModel->save(); 
  }
 }
}
Prathamesh Doke
  • 797
  • 2
  • 16
  • 38
-1

You should try this:

public function store(Request $request)
{
  $customer_name = $request->customer_name;
  $cheque_number = $request->cheque_number;
  $count = count($cheque_number);

    for($i = 0; $i < $count; $i++){
       if(isset($cheque_number[$i])) {  
          $objModel = new Cheque();
          $objModel->customer_name = $customer_name;  //same name
          $objModel->cheque_number = $cheque_number[$i]; //different number
          $objModel->save();  
       }
    }
}
AddWeb Solution Pvt Ltd
  • 21,025
  • 5
  • 26
  • 57