connect_dw <- function() {
DBI::dbConnect(RSQLite::SQLite(), ":memory:")
}
fetch_sql_res <- function(key, ...) {
query_list <- list(...)
query_sql_res <- function(.query_list = query_list, .db_connect_f = connect_dw) {
con <- .db_connect_f()
res <- purrr::map(.query_list, glue::glue_sql, .con = con ) %>%
purrr::map(purrr::partial(DBI::dbGetQuery, conn = con))
DBI::dbDisconnect(con)
res
}
## if key exists in redis cache, fetch it from redis.
## If not, call the function to query database
query_sql_res()
}
#' testing
#' @serializer unboxedJSON
#' @get /test_db
test_db <- function() {
userid <- 10
fetch_sql_res(df = "SELECT {userid}")
}
错误信息:
Error in eval(parse(text = text, keep.source = FALSE), envir) :
object 'userid' not found
我想创建一个可以在函数内部使用的函数(用于使用管道工创建 web api)。
该函数用于获取 sql 结果。它需要一些变量来构造 sql 查询。
上面的代码不起作用。问题似乎与环境有关。