Как я могу сохранить динамический c ввод в Laravel - PullRequest
0 голосов
/ 14 июля 2020

У меня есть проект, в котором я создаю динамические входы с помощью скрипта, который добавляет динамические c входы. Я делаю это, и это прекрасно работает. Теперь моя проблема в том, как сохранить переменные в моей базе данных. Мой HTML:

   <div class="row" style="margin-bottom:5px;margin-top:10px;margin-left:10px;">

        <div class="col-lg-3">
        <input class="form-control" type="text" name="prenoms_et_nom_ref_1" id="prenoms_et_nom_ref_1" 
         placeholder="Prénoms et nom">
        </div>

       <div class="col-lg-3">
       <input class="form-control" type="text" name="lien_de_parente_reference_1" 
        id="lien_de_parente_reference_1" placeholder="Lien de parenté">
       </div>

       <div class="col-lg-3">
       <input class="form-control" type="text" name="numero_telephone_reference_1" 
       id="numero_telephone_reference_1" placeholder="N° de Téléphone">
      </div>

      <div class="col-lg-3">
          <button class="post-link btn btn-xs btn-success" id="add"  class="btn btn-xs btn-success" 
      style="margin-left:20px;margin-top:5px"><i class="fa fa-plus" aria-hidden="true"></i></button>
      </div>
      </div>

      <div class="row" style="margin-left:5px;margin-bottom:20px" id="dynamic_field">

      </div>
      

Мой код функции:

$(document).ready(function(){
      var maxField = 3; //Input fields increment limitation
      var i=1;
      $('#add').click(function(){
        if(i < maxField){
         i++;
          $('#dynamic_field').append('<div style="margin-bottom:5px;margin-top:10px;margin- 
     left:10px;" class="row" id="row'+i+'"><div class="col-lg-3"><input class="form-control" 
     type="text" id="prenom_et_nom_ref_'+i+'" name="prenom_et_nom_ref_'+i+'" placeholder="Prénom et 
     Nom"/></div><div class="col-lg-3"><input class="form-control" type="text" 
     id="lien_de_parente_ref_'+i+'" name="lien_de_parente_ref_'+i+'" placeholder="Lien de parenté"/> 
     </div><div class="col-lg-3"><input class="form-control" type="text" 
     id="numero_telephone_ref_'+i+'" name="numero_telephone_ref_'+i+'" placeholder="N° de 
     téléphone"/></div><div class="col-lg-3"><button type="button" name="remove" id="'+i+'" 
     class="btn btn-danger btn_remove fa fa-trash" aria-hidden="true"></button></div></div>');
     }
     else
             {
             alert('Vous ne pouvez ajouter que 3 références')
             }
     });
     $(document).on('click', '.btn_remove', function(){
          var button_id = $(this).attr("id");
          $('#row'+button_id+'').remove();
     });

     });

Как мне отредактировать контроллер?

public function store(StoreStagiaireRequest $request)
{
    $stagiaire = Stagiaire::create($request->all());

    $requestData = $request->all();

    return redirect()->route('admin.stagiaires.index');

}

Пожалуйста, помогите.

1 Ответ

1 голос
/ 14 июля 2020
  1. Назовите свои входы следующим образом

    <input type="number" name="item_quantity[]" id="item_quantity" class="form-control">
    
  2. Затем в вашем контроллере используйте l oop, как это, чтобы сохранить его

    public function update_purchased_request_form(Request $request)
    {
        for ($i = 0; $i <> count($request->item_quantity); $i++) {
            $items=new your_table name;
            $items->item_quantity= $request->item_quantity[$i];
            $items->save();
        }
        return back();
    }
    
...