Php 如何在laravel中从视图控制器传递数组

Php 如何在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="b

我在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>
但它总是会出错

在null上调用成员函数get()

使用
$request->get()
方法

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

这不是带有输入的表单吗?如何随请求发送数据?即使您是通过ajax发送post数据-因为否则您需要带有输入元素的表单-您也应该在控制器方法中选中
dd($request->input('no\u inventaris'))
。如果是数组,则可以使用数组索引获取值。我不认为数组上存在[a',r',r']->get(),
get()
可能不存在。我想从数据库的另一个表中获取数据,然后将其保存到另一个表中,这就是为什么我没有带输入的表单。我尝试过这样做,没有出错,但没有将数据保存到数据库。我已经解决了您的问题。关于不保存到DB,您需要检查输入并调试更新查询。
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");
}