bases de datos laravel php
Agrupar condiciones WHERE en SQL usando Laravel
En el post de hoy vamos a trabajar con Laravel, PHP y consultas SQL con WHERE. Como bien sabes, en MySQL o motores similares podemos agrupar condiciones usando paréntesis, estableciendo así un orden.
Por ejemplo, si queremos encerrar 2 condiciones y luego evaluarlas con un AND, haríamos algo así:
select * from `productos` where `id_establecimiento` = ? and (`descripcion` LIKE ? or `codigo_barras` LIKE ?) order by `descripcion` asc;
En este caso hacemos un and
entre la primera comparación y el resultado de la segunda que está encerrada entre paréntesis para evaluar un or
.
Esto es importante porque (para este ejemplo) si no se usaran paréntesis se podrían ver los productos de todos los establecimientos si es que el código de barras coincide.
Entonces veamos cómo agrupar y evaluar condiciones booleanas de la base de datos entre paréntesis usando el Query Builder y ORM de Laravel.