Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

339
Vistas
Cómo pasar una parte de la consulta Eloquent de Laravel al método

Quiero usar las diferentes consultas dentro de un método y quiero pasar una parte de la consulta dentro de eso.

Mi método se ve así:

 static function methodName($partOfQuery) { ModelName::where('...')->$partOfQuery->...; }

Y quiero hacer algo como:

 $partOfQuery = where('columnName', '>=', 5)->whereRaw('Other Condition'); self::methodName($partOfQuery);

Pero me enfrenté a este error: Call to undefined function App\Classes\ClassName\where()

¿Alguien podría ayudarme con este problema? Gracias

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Creo que el error se debe a where se llama sin una clase de modelo elocuente.

Algo que puede hacer con el generador de consultas es llamar a una función dentro de su condición where como:

 SomeModel::where(function($query){ // do something $query->where(...) })
over 4 years ago · Santiago Trujillo Denunciar

0

Dudo que no haya nada exactamente como lo que describiste. Pero hay alternativas, si entiendo correctamente, está tratando de encadenar múltiples métodos.

Si es así, puede hacer lo siguiente:

En su clase modelo:

 static function getActiveBooks() { return self::where('status', 'active'); } public function getFeaturedBooks() { return $this->getActiveBooks()->where('featured', 'active'); }

Uso:

 $activeBooks = (new Book())->getFeaturedBooks()->get();

Hay varias formas, también puede usar el alcance como lo describe @levi en la sección de comentarios, son 2 caras de la misma moneda.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda