如何获取ID,然后编辑数据表中的数据

时间:2019-11-21 06:42:40

标签: laravel datatable datatables

我有来自API的数据,我可以通过数据表查看数据,但是我很困惑从基于ID的数据进行编辑

这是我的控制器

 $response = Curl::to('127.0.0.1/post/show')->get();
        $data = json_decode($response, true);    
        $outputData = $data["data"];

        return Datatables::of($outputData)
            ->addIndexColumn()
            ->addColumn('action', function ($row) {
                $btn = '<a href="javascript:void(0)" data-toggle="tooltip"  data-id="'.$row-id.'" data-original-title="Edit" class="edit btn btn-primary btn-sm btn-edit"><i class="far fa-edit"></i></a>';
                $btn = $btn . ' <a href="javascript:void(0)" data-toggle="tooltip"  data-id="" data-original-title="Delete" class="btn btn-danger btn-sm btn-delete"><i class="far fa-trash-alt"></i></a>';
                return $btn;
            })
            ->rawColumns(['action'])
            ->make(true);        

如果我使用$ row-> id,它将显示错误,试图获取非对象的'id'属性

这是我的脚本数据表

$('#tAdmin').DataTable({
            processing: true,
            serverSide: true,
            ordering: false,
               ajax: "{{route('postshow')}}",
               columns : [
                    {"data" : "id"},
                    {"data" : "author_id"},
                    {"data" : "articel"},
                    {"data" : "action"}

               ]
          });

这是dd($ outputData)

data": [
    {
      "id": "2",
      "author": "james",
     "artikel" : "some artikel",
    "action" : "a href=\"javascript:void(0)\" data-toggle=\"tooltip\"  data-id=\"\" data-original-title=\"Edit\" class=\"edit btn btn-primary btn-sm btn-edit\"><i class=\"far fa-edit\"></i></a> <a href=\"javascript:void(0)\" data-toggle=\"tooltip\"  data-id=\"\" data-original-title=\"Delete\" class=\"btn btn-danger btn-sm btn-delete\"><i class=\"far fa-trash-alt\"></i></a>"
      "vendor_id": "1",

2 个答案:

答案 0 :(得分:2)

只需更改代码

data-id="'.$row['id'].'

 $btn = '<a href="javascript:void(0)" data-toggle="tooltip"  data-id="'.$row['id'].'" data-original-title="Edit" class="edit btn btn-primary btn-sm btn-edit"><i class="far fa-edit"></i></a>';
 $btn = $btn . ' <a href="javascript:void(0)" data-toggle="tooltip"  data-id="" data-original-title="Delete" class="btn btn-danger btn-sm btn-delete"><i class="far fa-trash-alt"></i></a>';

答案 1 :(得分:2)

尝试使用它来解决您的问题

   $row['id']