#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. Я исправил вашу проблему. И насчет того, чтобы не сохранять в БД, вам нужно проверить свой ввод и отладить запрос на обновление.