Laravel Eloquent: cómo construir un WHERE complejo con combinación de OR y AND
¡Hola a todos! Soy nuevo en Laravel y Eloquent, y tengo un problema al construir una consulta SQL compleja con condiciones WHERE que usan OR y AND simultáneamente.
Tengo una tabla `products` con los campos: `status`, `category_id`, `price`, `is_featured`. Necesito seleccionar productos que cumplan una de dos condiciones:
1. El producto está activo (status = 'active') Y tiene un precio menor a 1000 (price < 1000);
2. O el producto es destacado (is_featured = 1) Y pertenece a la categoría con id = 5 (category_id = 5).
Es decir, en SQL se vería así:
```sql
SELECT * FROM products
WHERE (status = 'active' AND price < 1000)
OR (is_featured = 1 AND category_id = 5);
```
He intentado usar `where()` y `orWhere()` en Eloquent, pero termino con un desorden. Por ejemplo, así:
```php
$products = Product::where('status', 'active')
->where('price', '<', 1000)
->orWhere('is_featured', 1)
->where('category_id', 5)
```