Adquiere este curso para tener acceso a todas las lecciones
Comprar curso10. Creación de Query Scopes para mejorar la eficiencia de tus reportes
En este capítulo aprenderemos cómo agregar filtros a las consultas de nuestra base de datos utilizando Query Scopes en Laravel. Veremos cómo definir Query Scopes en nuestro modelo y cómo utilizarlos en nuestras consultas de Eloquent para filtrar y ordenar los registros según nuestras necesidades.
3 comentarios
Inicia sesión para comentar
Comentarios:
-
Carlos Moreno hace 1 año
Amigo Víctor el filtro con los campos de fecha realmente no funcionan
-
Carlos Moreno hace 1 año
Si estoy usando el created_at, todo igual que en el curso. Ya voy en el ultimo capitulo excelente contenido.
-
Victor Arana Flores hace 1 año
Cuando tu creas un campo de tipo fecha, si bien es cierto en la bbdd lo almacena como fecha, eloquent no lo recupera como fecha sino como texto, por lo cual los filtros no te funcionarían.
Lo que tienes que hacer es hacer un casting de esa propiedad.
Dirigete al modelo donde se encuentre ese campo de tipo fecha, una vez ahi agrega esta propiedad.
protected $casts = ['fecha' => 'datetime',
];
Con eso logras que siempre que Eloquent recupera el campo fecha, lo trate como fecha y no como texto. -
Victor Arana Flores hace 1 año
El campo created_at no necesitas hacer casting, ya que ya viene con casting por defecto. Esto solo se debe hacer en el caso de que agregues cualquier otro campo de tipo fecha
-
Carlos Moreno hace 1 año
Lo solucione de esta forma:
})->when($filters['fromDate'] ?? null, function($query, $fromDate){$query->where('created_at','>=', $fromDate.' 00:00:00');
})->when($filters['toDate'] ?? null, function($query, $toDate){
$query->where('created_at','<=', $toDate.' 23:59:59');
Le concatene al fromDate y toDate donde inicia el tiempo y donde termina las 24 horas del día.
muchas gracias por responder. -
Victor Arana Flores hace 1 año
Hola Carlos, me alegra que hayas solucionado el problema :D
-
-
Armando Oliveira hace 1 año
Víctor, como puedo hacer el filtro pero cuando existe una relación Ejemplo Tabla uno Facturas, Tabla 2 Clientes. quiero filtrar la relación entre facturas y clientes
-
Victor Arana Flores hace 1 año
Hola Armando, al no ser una pregunta sobre el curso, te recomiendo dejar tu duda en el grupo Coders Free de Facebook. https://www.facebook.com/groups/4314830498588670
-
-
Jessy GarcÃa hace 2 años
Hola que tal, tengo una duda y es hacer el filtrado, se podra realizar la busqueda en un array?
-
Victor Arana Flores hace 2 años
Hola Jessy, puedes explicarte mejor.
-