Выберите и сгенерируйте оператор вставки из базы данных с кодировкой laravel - PullRequest
0 голосов
/ 04 февраля 2020

Здравствуйте, надеюсь, у вас все будет хорошо. Я хочу выбрать записи таблицы, а затем сгенерировать операторы вставки из этих выбранных таблиц и сохранить эти операторы вставки в текстовом файле, как я могу получить это в laravel У меня много поиска, но я не смог найти никакого решения. Пожалуйста, помогите мне.

Заранее спасибо.

Код клинка.

<form  id="tblExportsForm" autocomplete="off">
    {{ csrf_field() }}
    <fieldset>
      <legend>Database Export Synchronization</legend>
      <div class="form-group">
        <label class="cus-label">Select Table(s) <span class="badge badge-success circle">{{ count($tables) }}</span></label>
        <select name="tblExportSelect[]" id="tblExportSelect" class="form-control" required multiple>
              <option value="">Select an option</option>
              @foreach($tables  as $key => $table)              
              <option value="{{ $key }}" data-id = "{{ $table }}">{{ $table }}</option>            
              @endforeach
        </select>
      </div>
      <div class="form-group btn-toggle">
        <button type="submit" id="BtnSubmit" class="btn btn-primary" style="letter-spacing: 2px;"><i class="fas fa-sync-alt"></i> Export Data </button>
      </div>
    </fieldset>
    <div id="loader"></div>
  </form>

Клинок Javascript

$('#BtnSubmit').on('click',function(){
      $("form#tblExportsForm").validate({
         errorElement:'span',
         errorClass:'help-block pull-left err',
         ignore:":hidden:not(select)",
         debug:true,
         rules:{
            tblExportSelect:{
               required:true
            },
         },
         highlight:function(element){
            $(element).closest('.form-group').addClass('has-error');
         },
         errorPlacement: function (error, element) {
              if(element.hasClass('select2') && element.next('.select2-container').length) {
                  error.insertAfter(element.next('.select2-container'));
                } 
                else if (element.parent('.form-group').length) {
                  error.insertAfter(element.parent());
                }
                else {
                    error.insertAfter(element);
                }
            },
         success:function(label){
            label.closest('.form-group').removeClass('has-error');label.remove();
         },
         invalidHandler:function(form,validator){
            if(!validator.numberOfInvalids())return;
         },
         messages:{

         },
         submitHandler:function(form,e){
            var btn=document.querySelector("#BtnSubmit");
            btn.style.display="none";var img=document.createElement("img");
            img.setAttribute("src",base_url+'front/images/loading.gif');
            var loader=document.querySelector("#loader");loader.appendChild(img);
            var url="<?php echo route('database.export-txtProcess');?>";
            var cur_url="<?php echo route('database.export-txt');?>";

            //var tblExportSelect  = $("#tblExportSelect").val();


            var pushArray = [];
            $.each($("#tblExportSelect option:selected"), function(){
            pushArray.push($(this).data("id"));
            });

            var data  = new FormData();

            data.append('tblExportSelect',pushArray);


            //$("#tblExportSelect").val(selected);


            axios({
                method: 'POST',
                url: url,
                data: data
              })
            .then(function(res){
              // console.log(res);
            })
         e.preventDefault();
      }
   });
   });

Метод контроллера

public function exportTxtProcess(Request $request){

      /*dd($request->tblExportSelect);*/

       $tables  = explode(",", $request->tblExportSelect);

       foreach ($tables as $table) {
          $output   =  DB::statement("SELECT * FROM $table");

          print_r($output);
       }
    }
...