Laravel Datatables 添加具有特定 html 的列

Meh*_*raç 1 datatables laravel

我在向 jquery.datatables 添加列时遇到问题。

我的数据表函数如下所示

 public function getSliderImages()
{

    $query = Slider::with('User')->select('sliders.*');

    return Datatables::of($query)
        ->addColumn('fullName',function ($data){
            return $data->user->firstName .' '. $data->user->lastName;
        })
        ->addColumn('types',function ($data){
            return '<ul class="list-condensed list-unstyled no-margin">' .
                '<li><span class="text-semibold">Boyut:</span> '.$data->size.'</li>' .
                '<li><span class="text-semibold">Format:</span> ' .$data->ext.'</li></ul>';
        })

        ->make(true);
}
Run Code Online (Sandbox Code Playgroud)

返回的 json 文件非常好,但是问题是我的数据表看起来像这样它充当原始文本而不是 html

最后一件事是我的 javascript

columns: [
                {data: 'slider_slug', name: 'slider_slug',"render": function(data, type, row) {
                    return '<a href="'+loc+'/'+data+'" data-popup="lightbox"> <img src="'+loc+'/'+data+'" class="img-rounded img-preview" </a>';
                },

                    orderable: false,
                    searchable: false
                },
                {data: 'slider_slug', name: 'slider_slug'},
                {data: 'fullName', name: 'fullName'},
                {data: 'created_at', name: 'created_at'},
                {data: 'action',name:'action'},
                {data: 'types',name:'types'},
Run Code Online (Sandbox Code Playgroud)

返回值的行为类似于纯文本,但它是 html。

在 javascript 中,我无法从服务器获取 2 个数据。我的意思是我无法在 1 行中获取 2 个变量。

我怎么解决这个问题

小智 5

简单...只需添加->rawColumns(['fullName', 'types'])

所以......你的代码将是:

public function getSliderImages()
{

    $query = Slider::with('User')->select('sliders.*');

    return Datatables::of($query)
        ->addColumn('fullName',function ($data){
            return $data->user->firstName .' '. $data->user->lastName;
        })
        ->addColumn('types',function ($data){
            return '<ul class="list-condensed list-unstyled no-margin">' .
                '<li><span class="text-semibold">Boyut:</span> '.$data->size.'</li>' .
                '<li><span class="text-semibold">Format:</span> ' .$data->ext.'</li></ul>';
        })
        ->rawColumns(['fullName', 'types'])
        ->make(true);
}
Run Code Online (Sandbox Code Playgroud)

请参阅https://yajrabox.com/docs/laravel-datatables/master/raw-columns