Filtrage DataTable (recherche) add_column dans le projet Laravel

J'ai un problème avec une table rendue avec DataTable Bootstrap Jquery dans mon projet (construit dans Laravel 5).

La recherche (filtrage) fonctionne pour les colonnes générées à partir de la requête SQL, mais les colonnes générées avec add_column ne fonctionnent pas.

Le code javascript du fichier php:

var oTable; $(document).ready(function() { oTable = $('#table').dataTable({ "sDom" : "<'row'<'col-md-6'l><'col-md-6'f>r>t<'row'<'col-md-6'i><'col-md-6'p>>", "sPaginationType" : "bootstrap", "bProcessing" : true, "bServerSide" : true, "sAjaxSource" : "{{ URL::to('employee/outputs/data/'.$invoice_status) }}", "fnDrawCallback" : function(oSettings) { $(".iframe").colorbox({ iframe : true, width : "60%", height : "60%", onClosed : function() { window.location.reload(); } }); } }); }); 

Le code de Laravel Controller:

 public function data($invoice_status) { $outputs = Output::join('my_companies', 'my_companies.id', '=', 'outputs.my_company_id') ->join('my_branches', 'my_branches.id', '=', 'outputs.my_branch_id') ->select(array('outputs.id', 'my_companies.name as my_company_name', 'my_branches.name as my_branch_name', 'outputs.output_at', 'outputs.invoice_id', 'outputs.customer_type')) ->where('outputs.invoice_status', $invoice_status) ->where('outputs.is_deleted', false) ->orderBy('outputs.output_at', 'DESC'); return Datatables::of($outputs) ->add_column('customer_name', '{{ App\Output::getCustomerName(App\Output::find($id)->customer_type,App\Output::find($id)->customer_id) }}') ->add_column('auto', '{{ App\Output::find($id)->vehicle_number }}') ->add_column('observations', '{{ App\Output::find($id)->observations }}') ->make(); } 

METTRE À JOUR:

Dans ma situation, je comprends que je ne peux pas rechercher dans la colonne ajoutée avec ad_column. Alors, je veux implémenter la fonction à partir d'un modèle, comme App \ Output_Detail :: getAmountDue dans la zone SELECT. J'ai essayé avec DB: RAW. Cela ne fonctionne pas, la syntaxe est correcte, mais sans résultat sur la page Web:

  $outputs = Output::join('my_companies', 'my_companies.id', '=', 'outputs.my_company_id') ->join('my_branches', 'my_branches.id', '=', 'outputs.my_branch_id') ->select(array('outputs.id', 'my_companies.name as my_company_name', 'my_branches.name as my_branch_name', 'outputs.output_at', 'outputs.invoice_id', 'outputs.customer_type'), DB::RAW(":amount as amount_due",array('amount' => App\Output_Detail::getAmountDue($id)))) ->where('outputs.invoice_status', $invoice_status) ->where('outputs.is_deleted', false) ->orderBy('outputs.output_at', 'DESC');