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

89
Vistas
withCount con otros atributos

Tengo una función allArticlesCount que cuenta todos los artículos que tienen draft 1 .

 $allArticlesCount = Article::where('draft', 1)->count();

También tengo una función que cuenta la cantidad de artículos en una categoría específica, uso withCount , pero ella cuenta absolutamente todos los artículos, y solo necesito con draft 1

 $categories = BlogCategory::withCount('articles')->get();

La pregunta es, ¿cómo puedo hacer que todos los artículos que tienen el draft 1 se cuenten en la función $categories ?

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

0

La función withCount() , al igual que la función with() , puede usar una matriz como argumento para permitir la modificación de la relación que se está contando. En tu caso, harías lo siguiente:

 $categories = BlogCategory::withCount(['articles' => function($query){ $query->where('draft', 1); }])->get();

Esto devolverá sus instancias de BlogCategory , cada una con una propiedadarticles_count indicativa de la cantidad de draft de articles_count relacionados con cada instancia.

De forma nativa, puede definir una relación de draftArticles de artículos:

 public function draftArticles() { return $this->hasMany(Article::class)->where('draft', 1); // Note: May need to adjust `hasMany()` to reference proper FK column, etc. }

Y realiza withCount() en eso en su lugar:

 $categories = BlogCategory::withCount('draftArticles')->get();

Cada instancia de BlogCategory tendría una propiedad draft_articles_count que refleja eso.

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