[Resuelto] botón con id en DataTables

Publicado hace 3 meses por luis

como puedo pasar el id de la fila para que al pulsar el boton me dirija al show del usuario con dicho id?

columns: [

               { data: 'id', width: '10px'},
               { data: 'nombre'},
               { data: 'email'},
               { data: 'id', width: '60px', render: function (data, type, row) {
                  return '<a href="{{route('users.show', 2)}}" class="btn btn-success btn-xs"></a>';}}
            ],

es decir, sustituir el numero 2 por el id de la fila. Muchas gracias.

Mejor respuesta Marcada por España luis

@Francisco Ventura-0eec27c419d0fe24e53c90338cdc8bc6 hace 3 meses

luis desde tu controlador desde agregar una columna nueva te envio en example:

$user = User::with(['roles'])->where('status',1)->get();

        return Datatables::of($user)

                    ->editColumn('roles', function ($users) {
                        return $users->roles->pluck('display_name')->implode(', ');
                    })
                    ->addColumn('opciones', function ($users) {
                        
                        return  '<a class="btn btn-info btn-xs " 
                                href="user/'.$users->id.'/edit" data-toggle="tooltip" title="Editar Usuario"><i class="fa fa-pencil"></i></a>
                    
                                <button type="button" class="btn btn-danger btn-xs" onclick="eliminar('.$users->id.')" title="Eliminar Usuario"> <i class="fa fa-trash-o"></i> </button>';
                        
                        
                    })  
                    ->rawColumns(['roles','opciones'])

                    ->toJson();

fijate se se usa el addColumn el cual ejecuta un callback le pasas la variable y retornas el link usando la ruta completa , luego usas rawColumns y pasas las nuevas columnas modificadas o creadas y en tu vista solo la llamas.

{data: 'roles', name: 'roles'},
 {data: 'opciones', name:'opciones'}

espero te sirva puedes consultar la documentación del paquete tambien https://datatables.yajrabox.com/eloquent/add-edit-remove-column