consulta Larawel orWhere de concat dos columnas

Muhammad Ilham:

Tengo una tabla de usuarios: id | Nombre | apellido cuando se muestran datos de los usuarios, no tengo un nombre de filtro por lo que un usuario puede buscar por nombre (nombre, apellido o nombre completo); el problema es cuando la entrada se FULLNAME que da como resultado 0 datos, por ejemplo: fistname: Michael Apellido: foobar cuando miro para "Michael" y "foobar" no tengo ningún problema, pero cuando miro para "Michael foobar" devolverlo nada

mi código siguiente aspecto:

$dataQuery  = $dataQuery->where(function ($dataQuery) use ($fullname) {
            $dataQuery->where('users.firstname', 'like', '%' . $fullname . '%')
                  ->orWhere('users.lastname', 'like', '%' . $fullname . '%')
                  ->orWhere('CONCAT_WS(" ", `users.firstname`, `users.lastname`)', 'LIKE', '%' . $fullname . '%');
        });

PD: Lo siento por mi falta de Inglés, espero que todos ustedes entienden

Tsakhog:

Está utilizando MySQL incorporada la función CONCAT_WS, los PLZ utilizar DB::raw()para la función:

->orWhere(DB::raw('CONCAT_WS(" ", `users.firstname`, `users.lastname`)'), 'LIKE', '%' . $fullname . '%');

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=395468&siteId=1
Recomendado
Clasificación