Зачем вводить данные цикла Laravel до 40 строк? - PullRequest
1 голос
/ 16 октября 2019

Я создал функцию магазина на моем контроллере. В то время, когда я буду вводить данные только с одной отправкой, будут внесены только проиндексированные до 40 данных. Пока эти 40 и выше не входят в базу данных. Почему это случилось? Какое решение? Пожалуйста, мне нужна помощь. Извините за мой плохой английский. Спасибо

Я использую Laravel 5.6

public function store(Request $request)
    {
        //

      foreach($request->quantity as $quantity){
        if($quantity == NULL){

        }
        if($quantity != NULL){
          $data = new KomponenOlahan;
          $data->quantity = $quantity;
          $harga_satuan_mu = Input::get('harga_satuan_mu');
          $total = $quantity*$harga_satuan_mu;
          $data->kode_proyek = Input::get('kode_proyek');
          $data->nama_proyek = Input::get('nama_proyek');
          $data->kode_panel = Input::get('kode_panel');
          $data->nama_panel = Input::get('nama_panel');
          $data->schedule_kirim = Input::get('schedule_kirim');
          $data->nama_sales = Input::get('nama_sales');
          $data->ukuran_panel = Input::get('ukuran_panel');
          $data->ref = Input::get('ref');
          $data->type = Input::get('type');
          $data->komponen_bantu = Input::get('komponen_bantu');
          $data->nama_komponen = Input::get('nama_komponen');
          $data->spek = Input::get('spek');
          $data->satuan = Input::get('satuan');
          $data->diskon = Input::get('diskon');
          $data->harga = Input::get('harga');
          $data->pole = Input::get('pole');
          $data->ka = Input::get('ka');
          $data->ampere = Input::get('ampere');
          $data->quantity = $quantity;
          $data->harga_satuan_mu = $harga_satuan_mu;
          $data->harga_satuan_mb = Input::get('harga_satuan_mb');
          $data->harga_satuan_lb_oh = Input::get('harga_satuan_lb_oh');
          $data->id_estimasi = Input::get('id_estimasi');
          $data->nama_estimasi = Input::get('nama_estimasi');
          $data->total = $total;
          $data->trigger_bom = Input::get('trigger_bom');

          $data->save();
        }

      }

Мой взгляд

 <td><input type="text" name="quantity[]" class="form-control"></td>
 <td><input type="text" name="kode_proyek" hidden value="{{$panel->kode_projek}}">

etc....


Мой взгляд мой взгляд

1 Ответ

1 голос
/ 16 октября 2019

Вы можете сначала сохранить его в массив, а затем использовать массовую вставку.

Вставка данных 1 на 1 замедлит работу вашего приложения.

$insertArray = array();

foreach($request->quantity as $quantity){
  if($quantity == NULL){
    $insertArray[] = array(
      'quantity' => $quantity,
      'harga_satuan_mu ' => Input::get('harga_satuan_mu'),
      .... // add other fields

    )
  }
}
KomponenOlahan::insert($insertArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...