En mi aplicación hecha con Laravel hago consultas a la base de datos usando Eloquent, Pero tengo muchos wheres y se ve un poco feo realmente, hay alguna forma de simplificar esto usando un solo where o quizá con alguna otra función?
User::where('campo_1', true)
->where('campo_2', true)
->where('campo_3', true)
->where('campo_4', false)
etc...
Hola
Muy buena pregunta, hay dos formas de poder simplificar tu codigo.
La primera es usar scopes. de esta forma:
User::activos()->conDatos()->etc();
Para eso hay que definir los scopes para cada consulta en el modelo asi:
public function scopeActivos($query)
{
return $query->where('activo', true);
}
Con eso queda clara la idea
La segunda forma es con el uso de arrays y seria algo asi :
User::where(['campo_1' => true, 'campo_2' => false, ...]);
Espero te sirva, y puedas implementarlo.
Saludos.
Gracias, lo haré con los arrays.