Salut,
Dans mon datatable, je récupère le champ de nom comme CONCAT (fname, "", "lname"). Je dois rechercher le champ de nom dans le datatable et il devrait renvoyer la correspondance avec fname ou lname. S'il vous plait, faites moi savoir comment faire ça:
code js:
columns : [
{ data: 'name', name: 'fname' }, //I have tried this also : ['fname','lname' ]
--------------------
Code PHP:
$users = User::leftJoin('address', 'address.user_id', '=', 'users.user_id')
->select([\DB::Raw(
'CONCAT(fname," ",lname) as name, CONCAT(country_code, "", mobile_number) as mobile_num, IF(status = 1, "Active", "Inactive") as status,
(SELECT count(subscription_id) FROM subscription WHERE subscription.user_id = users.user_id AND subscription.status IN (2,4)) as totalActivesubscription'
), 'gender', 'city as address', 'city','users.user_id', 'email_id'])
->where('users.role_id', '=', $aParam['role_id']);
return Datatables::of($users)
->addColumn('actions', function ($users) {
return view('users.templates.user_action', [
'user' => $users
])->render();
})
->make(true);
Détails du système: "
Essayez peut-être d'utiliser cette astuce sur vos js:
columns : [
{ data: 'name', name: 'fname' },
{ data: 'name', name: 'lname', visible: false },
...
Ou utilisez l' API filterColumn .
en utilisant l'API filterColumn cela a fonctionné. Merci.
Mais que faire si nous avons besoin de rechercher un champ d'une autre table (qui s'est jointe à la requête principale).
ok c'est résolu en utilisant https://datatables.yajrabox.com/fluent/joins. Merci
Commentaire le plus utile
Essayez peut-être d'utiliser cette astuce sur vos js:
Ou utilisez l' API filterColumn .