Tengo una tabla llamada Cargos
. De ella quiero consultar todos los registros, pero que vengan en mayúscula y compararlo con uno convertido en mayúscula. En la base de datos tengo varios registros, entre ellos uno que es Operario
.
Si lo hago de la manera manual, queda de la siguiente manera:
SELECT nombre FROM cargos WHERE upper(nombre)=upper('opeRarIo')
En la base de datos funciona correctamente. Me indica que hay un registro.
Pero no logro hacerlo con Laravel. Esto es lo que intentado:
$sql = DB::table('cargos')->where('upper(nombre)', '=', 'upper("'.$req->valor.'")')->get();
y este otro:
$sql = Cargos::select(array('id'))->where('upper(nombre)', '=', 'upper("'.$req->valor.'")')->get();
Ambos me dicen:
Undefined column: 7 ERROR: no existe la columna «upper(nombre)»
Я usarГ - в ilike
из Постглинистого песчаника для этого типа консультаций, чтобы не знать, ли он mayГєsculas, minГєsculas или перемешанные как пример, который ты даешь:
$sql = Cargos::select('id')->where('nombre', 'ilike', $req->valor)->get();
Попытайся с:
$sql = Cargos::select(array('id'))->whereRaw('upper(nombre)', '=', 'upper("'.$req->valor.'")')->get();
Вместо where использовать whereRaw , типов Привета.
Используй whereRaw
AquГ - у тебя есть пример.
$sql = DB::table("cargos")->whereRaw('upper(nombre) = upper("'.$req->valor.'")')->get();