2017-08-16 1 views
0

J'utilise Laravel 5.4 et Datatable 7.x. J'utilise aussi AdminLTE. J'ai besoin d'une colonne nommée 'Status'. J'ai écrit le code ci-dessous dans contrôleur.Sortie de Laravel datable

return Datatables::of($users) 
      ->addColumn('status', function(Users $users){ 
       $status  = (($users->status == 1)? 
            '<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye"></i></a>' 
            : 
            '<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye-slash"></i></a>' 
           ); 

       $html  = '<div class="btn-group"> 
            '.$status.' 
           </div>'; 

       return $html; 
      }) 
      ->setRowId('id') 
      ->make(true); 

Ma sortie est comme ci-dessous

enter image description here

Mais j'ai besoin le bouton. Quelqu'un peut-il m'aider à cet égard?

Répondre

1

Si vous souhaitez utiliser html ou des vues dans la méthode setColumn, vous devez déclarer les colonnes dans la méthode rawColumns afin qu'il n'échappe pas au code HTML.

return Datatables::of($users) 
      ->addColumn('status', function(Users $users){ 
       $status  = (($users->status == 1)? 
            '<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye"></i></a>' 
            : 
            '<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye-slash"></i></a>' 
           ); 

       $html  = '<div class="btn-group"> 
            '.$status.' 
           </div>'; 

       return $html; 
      }) 
      ->setRowId('id') 
      ->rawColumns(['status']) 
      ->make(true); 

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