Skip to content

Laravel ApiQueryBuilderConsultas API Declarativas para Eloquent

Di adiós a los 50 ifs y wheres manuales en cada controlador. Construye APIs seguras, ultra optimizadas y listas para componentes de filtrado en React, Vue e Inertia en minutos.

Laravel ApiQueryBuilder

DESARROLLAR APIS NUNCA FUE TAN RÁPIDO NI TAN LIMPIO

¿Cansado de llenar tus controladores con if ($request->filled(...)), when() interminables y subconsultas que vuelven lento tu sistema? Mira cómo evoluciona tu código con ApiQueryBuilder:

php
// En tu controlador de Laravel:
public function index()
{
    // ¡Listo! Pagina 15 registros por defecto, ordena por id desc y retorna JSON:
    return User::apiQuery()->response();
}
php
public function index()
{
    // Tu frontend ya puede enviar ?filter[status]=active o ?filter[name][contains]=carlos:
    return User::apiQuery()
        ->allowedFilters(['name', 'status'])
        ->response();
}
php
public function index()
{
    // Transforma la salida limpiamente con tu Resource de Laravel:
    return User::apiQuery()
        ->allowedFilters(['name', 'status'])
        ->response(UserResource::class);
}
php
public function index()
{
    return ApiQueryBuilder::for(User::class)
        ->allowedFilters(['name', 'status', 'roles.name', 'extra_data.*'])
        ->defaultFilters(['status' => 'active'])
        ->allowedIncludes(['roles', 'department'])
        ->allowedCounts(['comments'])
        ->allowedSearch(['name', 'email'])
        ->allowedSorts(['name', 'created_at'])
        ->defaultSort('-created_at')
        ->allowAll(maxLimitOrUnlimited: 5000)
        ->response(UserResource::class);
}

Liberado bajo la Licencia MIT.