Filtrage des données (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 d’une requête SQL, mais pour les colonnes générées avec add_column ne fonctionne pas.

Le code javascript du fichier php:

var oTable; $(document).ready(function() { oTable = $('#table').dataTable({ "sDom" : "<'row'r>t<'row'>", "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_twigs', 'my_twigs.id', '=', 'outputs.my_branch_id') ->select(array('outputs.id', 'my_companies.name as my_company_name', 'my_twigs.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 chercher dans la colonne ajoutée avec ad_column. Donc, je veux implémenter une 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_twigs', 'my_twigs.id', '=', 'outputs.my_branch_id') ->select(array('outputs.id', 'my_companies.name as my_company_name', 'my_twigs.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');