Laravel-datatables: Cómo filtrar un valor de resultado concatenado en múltiples campos en Laravel 5.3

Creado en 3 feb. 2017  ·  3Comentarios  ·  Fuente: yajra/laravel-datatables

Hola,

En mi tabla de datos, estoy recuperando el campo de nombre como CONCAT (fname, "", "lname"). Tengo que buscar el campo de nombre en la tabla de datos y debería volver a coincidir con fname o lname. Por favor déjeme saber cómo hacer esto:

código js:

columns  : [
             { data: 'name', name: 'fname' }, //I have tried this also : ['fname','lname' ]
                --------------------

Código 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);

Detalles del sistema: "

  • Sistema operativo: Windows8, Linux
  • Versión PHP: 5.6
  • Versión de Laravel: 5.3
  • Versión de Laravel-Datatables: última
question

Comentario más útil

Tal vez intente usar este truco en su js:

columns  : [
   { data: 'name', name: 'fname' },
   { data: 'name', name: 'lname', visible: false },
...

O use filterColumn api.

Todos 3 comentarios

Tal vez intente usar este truco en su js:

columns  : [
   { data: 'name', name: 'fname' },
   { data: 'name', name: 'lname', visible: false },
...

O use filterColumn api.

al usar filterColumn api funcionó. Gracias.
Pero, ¿qué pasa si necesitamos buscar un campo de otra tabla (que se unió a la consulta principal)?

ok, se resuelve usando https://datatables.yajrabox.com/fluent/joins. Gracias

¿Fue útil esta página
0 / 5 - 0 calificaciones