не могу отобразить элемент html, используя таблицу данных yajra - PullRequest
0 голосов
/ 17 февраля 2020

добрый день, я новичок в laravel я хочу использовать таблицу данных yajra У меня простой вопрос, когда я хочу показать свою таблицу данных, я получаю эту ошибку "Предупреждение DataTables: таблица id = all_data - Ajax ошибка. Для подробнее об этой ошибке см. http://datatables.net/tn/7 "мой контроллер

publi c функция indexUsingYajra () {

    $dataView['allCategories']=Category::where('deleted',1)->get();
    return Datatables::of($dataView['allCategories'])
        ->setRowId('{{$id}}')

        //image coulmn
        ->addColumn('image', function(Category $category) {
            return '<img src="/upload/'.$category->image.'"  data-id="'.$category->id.'" data-toggle="modal" data-target="#update-img"  alt="" title="Edit Image" class="img-rounded img-responsive center-block img-edit imagenumber'.$category->id.'" />';
        })
        // totalproduct
        ->addColumn('Total Product', function(Category $category) {
            return  $category->getCategoryReportData->total_orders;
        })
        //status column
        ->addColumn('status', function(Category $category) {
            if ($category->status==1)
            {
                return '<span data-id="'.$category->id.'" title="update Status" data-target="on" class="status on ">on</span>';
            }else{
                return '<span data-id="'.$category->id.'" title="update Status"  data-target="off" class="status off">off</span>';
            }

        })
        // active column
        ->addColumn('action', function(Category $category) {
            return'<ul class="actions">
                    <li><a href="'. route('category.edit', $category->id) .'">'.$category->name.'</a></li>
                </ul>';
        })

        //render html element in page
        ->rawColumns(['image', 'status','action'])
        ->make(true);
}

мой js код $ ('# all_data'). DataTable ({

            "responsive": true,
            "processing": true,
            "serverSide": true,
            "ajax": "{!!route('category.indexUsingYajra')!!}",
            "columns": [
                {data: 'id',       name: 'id'},
                {data: 'name',       name: 'name'},
                {data: 'image',       name: 'image'},
                {data: 'Total Product',       name: 'Total Product'},
                {data: 'status',       name: 'status'},
                {data: 'action',       name: 'action'},



            ]
        });

мой html код

 <table id="all_data" class="table-striped table-bordered dt-responsive nowrap tableData  table_for_data" cellspacing="0" width="100%">
                                <thead>
                                    <tr>
                                        <th>Id</th>
                                        <th>Name</th>
                                        <th>Image</th>
                                        <th>Total Product</th>
                                        <th>status</th>
                                        <th>action</th>
                                    </tr>
                                </thead>

                            </table>

моя проблема возникает, если я хочу просмотреть ссылки в столбце (действие), если я удаляю его, таблица данных работает корректно, и если я удаляю любой столбец, содержащий любой элемент html, например, (изображение) или (статус) столбец действия работают правильно. как я могу решить это thnaks

1 Ответ

0 голосов
/ 17 февраля 2020

publi c функция opdAllPatient (запрос $ OpdModel) {

        return DataTables::of(OpdModel::select('orderId','patientName','regNum','consultant','gender','regDate','address')
                            ->where('dltStatus','<>','N'))
        ->addColumn('action', function($data){
        return sprintf(' <div class="btn-group btn-sm">
                <button data-toggle="tooltip modal" data-placement="auto" title="%s" data-order_id="%s" class="btn-sm %s btn btn-info btn-group  ">%s</button>     
         <a href="%s"data-toggle="tooltip" data-placement="auto" title="update" class="btn-sm btn-success">%s</a> 
        <button data-toggle="tooltip modal" data-placement="auto" title="%s" data-order_id="%s" class="btn-sm %s btn  ">%s</button>
         <button data-toggle="tooltip modal" data-placement="auto" title="%s" data-order_id="%s" class="btn-sm %s btn btn-danger" >%s</button></div>',
         "view",$data['orderId'],'opdview','<i class="fa fa-eye"></i>',
         route('opd.edit',['id'=>$data['orderId']]),'<i class="fa fa-pencil"></i>',
         "add",$data['orderId'],'addpatient','<i class="fa fa-plus"></i>',
         "delete", $data['orderId'],'opd-delete','<i class="fa fa-trash"></i>');

            })->addColumn('id',function($data){
                    static $i=1;
                    return $i++;

            })->editColumn('consultant',function($data){
                return $data->getConsultant->name;
            })->filterColumn('consultant', function($q, $keyword) {
                $q->whereHas('getConsultant',function($q) use ($keyword) {
                    $q->where('name','LIKE',["%{$keyword}%"]);
                });
            })->editColumn('regDate', function ($data){
                return \Carbon\Carbon::parse($data->regDate)->format('d/m/Y') ;})

        ->make(true);


 }
...