Как получить данные из одной таблицы для копирования в другую таблицу в той же базе данных?

#laravel #laravel-8

Вопрос:

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

Вот мое мнение

 <form  method="POST" >
 @csrf

 <button type="submit" formaction="original_po" name="submit" class="btn btn-success checklistpo">Request Payment</button>
      <div class="table-responsive">

        <table class="table custom-table">
          <thead>
            <tr>
              <th scope="col" ></th>
              <th scope="col" >S.N</th>
              <th scope="col">LC NO</th>
              <th scope="col">Applicant</th>
              <th scope="col">Doc Value</th>
              <th scope="col">Doc Received date</th>
              <th scope="col">LC Type</th>
              
            </tr>
          </thead>
          <tbody>
            <?php $number = 1;?>
            @foreach($datas as $items)
              
            <tr>
              
              <td><input type="checkbox" name="checkboxlist[]" value="{{$items->id}}" /></td>
              <td>{{$number}}</td>
              <td>{{$items->lc_no}}</td>
              <td>{{$items->applicant}}</td>
              <td>{{$items->doc_value}}</td>
              <td>{{$items->rec_date}}</td>
              <td>{{$items->sight_usance}}</td>                  


            </tr>
            <?php $number  ; ?>
            @endforeach
         
            
          </tbody>
        </table>
      </div>
      </form> 
 

Вот контроллер

   function original_list_request(Request $req){
        $validate = Validator::make($req->all(), [
        "checkboxlist" => "required|array"
    ]);

    if ($validate->fails()) {
        return redirect()->back()->with("errors", $validate->errors());
    }
    $payment_data = new Payment;
    
    foreach ($req->checkboxlist as $list) {
        $data = Doc::find($list);
        $list= $payment_data->org_document_id;
        $data->lc_no= $payment_data->lc_no;
        $data->doc_value = $payment_data->payment_amount;
        $data->Payment_status = "Payment Requested";
        $payment_data->payment_type = "Original";
        $payment_data->save();
        $data->save();


    }


    }
 

моя схема документа

 public function up()
    {
        Schema::create('docs', function (Blueprint $table) {
            $table->id();
            $table->string('lc_no')->nullable();
            $table->string('nb_ref')->nullable();
            $table->string('nego_bank')->nullable();
            $table->string('doc_value')->nullable();
            $table->string('applicant')->nullable();
            $table->string('sight_usance')->nullable();
            $table->string('sol_id')->nullable();
            $table->string('con_lc')->nullable();
            $table->date('rec_date')->nullable();
            $table->string('bene')->nullable();
            $table->string('email')->nullable();
            $table->string('cur')->nullable();
            $table->string('doclot')->nullable();
            $table->string('check_staus')->nullable();
            $table->string('doc_type')->nullable();
            $table->string('cln_dis')->nullable();
            $table->string('status')->nullable();
            $table->date('maturity_date')->nullable();
            $table->date('pmt_msg_date')->nullable();
            $table->date('value_date')->nullable();
            $table->date('settlement_date')->nullable();
            $table->date('acceptance_date')->nullable();
            $table->date('hold_date')->nullable();
            $table->string('payment_status')->nullable();
            $table->string('maturity_status')->nullable();
            $table->string('entered_by')->nullable();
            $table->string('verified_by')->nullable();
            $table->string('doc_comment')->nullable();
            $table->string('settlement_comment')->nullable();
            $table->string('payment_comment')->nullable();
            $table->string('treasury_comment')->nullable();
            $table->string('hold_comment')->nullable();
            $table->timestamps();
        });
    }
 

моя схема оплаты

 public function up()
    {
        Schema::create('payments', function (Blueprint $table) {
            $table->id();
            $table->integer('org_document_id')->nullable();
            $table->string('lc_no')->nullable();
            $table->string('payment_amount')->nullable();
            $table->string('payment_status')->nullable();
            $table->string('payment_type')->nullable();
            $table->string('msg_type')->nullable();
            $table->string('other')->nullable();
            $table->timestamps();
        });
    }
 

Комментарии:

1. можете ли вы указать, какую ошибку вы получаете в текущем коде

2. я не получаю ошибку, но не обновляюсь в таблице платежей @JohnLobo

3. foreach ($req->список флажков как $список) { $data = Doc::найти($список); $payment_data = новый платеж; $payment_data->>org_document_id=$данные->>>org_document_id; $payment_data->>>>lc_no= $данные->>>>>lc_no; $payment_data->>>>>значение документа = $данные->>>>>>>payment_amount; $payment_data->>>>>>>>Payment_status = «Запрошен платеж»; $payment_data->>>>>>>>>payment_type = «Оригинал»; $payment_data->>>>>>>>>>сохранить(); }

4. я только обновляю payment_type как исходный, но не получаю других данных, таких как lc_no и другие данные @JohnLobo

5. можете ли вы показать схему таблицы и объяснить, какое поле вы обновили при отправке. Также проверьте dd($request->все());