Как передать массив из контроллера представления в laravel

#php #laravel

#php #laravel

Вопрос:

я создаю таблицу в blade.php , и я хочу передать значение массива контроллеру, вот мой blade.php

 @foreach ($alats as $data)
<tr>
        <td align="center" style="border-bottom: 3px solid {{$warna}}">{{$no}}</td>
        <td align="center" style="border-bottom: 3px solid {{$warna}}" name="no_inventaris[]">{{$data->no_inventaris}}</td>
        <td align="center"  style="border-bottom: 3px solid {{$warna}}" name="kode_alat[]">{{$data->kode_alat}}</td>
        <td align="center"  style="border-bottom: 3px solid {{$warna}}" name="tahun[]">{{$data->tahun}}</td>
        <td align="center"  style="border-bottom: 3px solid {{$warna}}" name="jenis_alat[]">{{$data->jenis_alat}}</td>
        <td align="center"  style="border-bottom: 3px solid {{$warna}}" name="merk_alat[]">{{$data->merk_alat}}</td>
        <td align="center"  style="border-bottom: 3px solid {{$warna}}" name="tipe_alat[]">{{$data->tipe_alat}}</td>
    </tr>
  

и я хочу передать значение no_inventaris контроллеру

 public function kirimsemua(Request $request){
        $namas = $request->nama;
        $ids = $request->no_inventaris->get();

        $get_alat = Alat::whereIn('no_inventaris',$ids)->get();

        $permohonan[] = new Permohonan;
        foreach ($get_alat as $key) {
            $permohonan = new Permohonan;
            $permohonan->no_inventaris = $ids;
            $permohonan->tanggal_permohonan = date("Y-m-d");
            $permohonan->tindakan = "";
            $permohonan->nama_pengirim = $request->nama;
            $permohonan->kode_lokasi = $get_alat->kode_lokasi;
            $permohonan->id_workcenter = $get_alat->id_workcenter;
            $permohonan->alasan = $request->input_alasan;
            $permohonan->save();
        }

        DB::table('q_alat')->whereIn('no_inventaris', $ids)
        ->update(['status' => 'terkirim']);

        return redirect('request_kalibrasi_user/'.$namas)->with('sort',"1");
}
  

но он всегда выдает ошибку

Вызов функции-члена get() при null

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

1. это не форма с входными данными? как происходит отправка данных с запросом?

2. Даже если вы отправляете данные post через ajax — потому что в противном случае вам потребуется форма с элементами ввода — вы должны проверить dd($request->input('no_inventaris')) в своем методе контроллера. Если это массив, то вы можете использовать индекс массива для извлечения значений. Я не думаю, что [‘a’, ‘r’, ‘r’]-> get() существует — get() на массиве, вероятно, не существует

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

Ответ №1:

Используйте $request->get() метод.

 $namas = $request->get('namas');
$noInventarisIds = $request->get('no_inventaris');

// ...
  

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

1. я пытался это сделать, это не ошибка, но данные не были сохранены в базе данных

2. Я исправил вашу проблему. И насчет того, чтобы не сохранять в БД, вам нужно проверить свой ввод и отладить запрос на обновление.