Laravel Yajra DataTable错误,如果我添加了多于1条记录

问题描述 投票:0回答:1

我已经在Laravel上使用Yajra创建了数据表,这里我想在表上显示数据,这是我的源代码:

$model = SaranaPrasaranaRuang::with('jenis_ruang')->where('dibuat_oleh',$this->user->id)->get();

        $dTable = Datatables()->of($model);
            $dTable = $dTable->addIndexColumn()
            ->editColumn('jenis_ruang',function($ruang){
                $jenis_ruang = $ruang->jenis_ruang->jenis_ruang;
                return $jenis_ruang;
            })
            ->editColumn('nama_ruang',function($data){
                return $data->nama_ruang;
            })
            ->addColumn('standard_prasarana',function($data){
                $btn = '<button class="btn btn-warning detail_prasarana" onclick=detailSarpras(this,'.$data->id_jenis_ruang.')>Lihat Standard Prasarana</button>';
                return $btn;
            })
            ->addColumn('standard_sarana',function($data){
                $btn = '<button class="btn btn-warning detail_sarana" onclick=detailSarpras(this,'.$data->id_jenis_ruang.')>Lihat Standard Sarana</button>';
                return $btn;
            })
            ->addColumn('action',function($data){
                $btn = "";
                $btn .= '<a href="/sarana_prasarana/ruang/edit/'.$data->id.'" class="btn btn-primary"><i class="fa fa-pencil"></i> Edit </a> ';
                $btn .= '<a href="/sarana_prasarana/ruang/delete/'.$data->id.'" class="btn btn-danger" onclick=return confirm("Apakah anda yakin ingin menghapus ?")><i class="fa fa-trash"></i> Hapus </a> ';
                $btn .= '<button class="btn btn-info" onclick=detailRuang('.$data->id.')><i class="fa fa-eye"></i> Detail</button>';
                return $btn;
            })
            ->rawColumns(['standard_prasarana','standard_sarana','action']);

        return $dTable->make(true);

如果我的记录只有1条,上面的代码可以正常工作,但是当我在表上再添加一条记录时,Datable会给我这样的响应json:

"error": "Exception Message:\n\nUndefined index: "

我已经尝试过eloquent(),query()但仍然没有用

任何人都可以帮助我吗?

php laravel-5 yajra-datatable
1个回答
0
投票

尝试一下

$model = SaranaPrasaranaRuang::with('jenis_ruang')->where('dibuat_oleh',$this->user->id)->get();

        return DataTables::of($model)
            ->editColumn('jenis_ruang',function($ruang){
                $jenis_ruang = $ruang->jenis_ruang->jenis_ruang;
                return $jenis_ruang;
            })
            ->editColumn('nama_ruang',function($data){
                return $data->nama_ruang;
            })
            ->addColumn('standard_prasarana',function($data){
                $btn = '<button class="btn btn-warning detail_prasarana" onclick=detailSarpras(this,'.$data->id_jenis_ruang.')>Lihat Standard Prasarana</button>';
                return $btn;
            })
            ->addColumn('standard_sarana',function($data){
                $btn = '<button class="btn btn-warning detail_sarana" onclick=detailSarpras(this,'.$data->id_jenis_ruang.')>Lihat Standard Sarana</button>';
                return $btn;
            })
            ->addColumn('action',function($data){
                $btn = '';
                $btn .= '<a href="/sarana_prasarana/ruang/edit/'.$data->id.'" class="btn btn-primary"><i class="fa fa-pencil"></i> Edit </a> ';
                $btn .= '<a href="/sarana_prasarana/ruang/delete/'.$data->id.'" class="btn btn-danger" onclick=return confirm("Apakah anda yakin ingin menghapus ?")><i class="fa fa-trash"></i> Hapus </a> ';
                $btn .= '<button class="btn btn-info" onclick=detailRuang('.$data->id.')><i class="fa fa-eye"></i> Detail</button>';
                return $btn;
            })
            ->rawColumns(['standard_prasarana','standard_sarana','nama_ruang','jenis_ruang','action']);
      ->addIndexColumn()
      ->make(true);
© www.soinside.com 2019 - 2024. All rights reserved.