2017-08-16 110 views
0

我使用Laravel 5.4和Datatable 7.x.我也使用AdminLTE。我需要一個名爲'狀態'的列。我在控制器中寫下了代碼。Laravel datatable的輸出

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); 

我的輸出類似下面

enter image description here

但我需要的按鈕。任何人都可以在這方面幫助我嗎?

回答

1

如果要在setColumn方法中使用html或視圖,則需要在rawColumns方法中聲明列,以便它不會轉義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