Как я могу создать кликабельную ссылку на стороне сервера таблиц данных Yajra? - PullRequest
0 голосов
/ 10 января 2020

Контроллер, где я получаю все данные.

return Datatables::of($usersData)->make(true); 

На виде:

<table id="AllData" class="table table-striped display" cellspacing="0" width="100%" >
            <thead>
            <tr>
                <th>Subject</th>
                <th>Business</th>
                <th>Device</th>
            </tr>
            </thead>
            </table> 

Тогда JavaScript

<script type="text/javascript">
        $(document).ready(function() {
             $('#AllData').DataTable({
                dom: 'Bfrtip',
                aLengthMenu: [[5, 10, 25], [5, 10, 25]],
                iDisplayLength: 10,
                processing: true,
                serverSide: true,
                responsive: true,
                autoWidth:false,
                "ajax": "{{ url('get-all-review-data') }}",
                "columns":[
                    { "data": "subject"},
                    { "data": "businessName" },
                    { "data": "device_name" }
                ],
                buttons: ['csv', 'excel', 'pdf', 'colvis']
             });
        });
    </script> 

Это работает нормально , Я могу просмотреть данные.

Однако я хочу, чтобы первый тд был ссылкой как <td><a href="/review/show/{!! >reviewSlug !!}" target="_blank">{!! subject !!}</a></td>

Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 10 января 2020
{ data: 'id', name: 'id', render:function(data, type, row){
    return "<a href='/users/"+ row.id +"'>" + row.id + "</a>"
}},
0 голосов
/ 10 января 2020

Вы можете использовать данные рендеринга столбцов

"columns":[
     { "data": "subject", "render": function ( data, type, row, meta ) {
            return  `<a href="/review/show/${yourSlug}" target="_blank">${data}</a>`;
        };
     },
     { "data": "businessName" },
     { "data": "device_name" }
],
...