如何从 tbl_dbi 中获取字段名称?

How to get field names from a tbl_dbi?

有没有办法直接从 tbl_dbi 对象(下面的 db_mtcars)中获取字段名称?

 library(RSQLite)
 library(dbplyr)
 library(dplyr)
 con <- dbConnect(RSQLite::SQLite(), ":memory:")
 dbWriteTable(con, "mtcars", mtcars)

 db_mtcars <- tbl(con, "mtcars")

colnames()

> colnames(db_mtcars)
 [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear"
[11] "carb"

colnames(db_mtcars) 是简单的解决方案,DBI::dbListFields(con, "mtcars") 是奇特的解决方案。 即使 names(db_mtcars) 失败,两者也能正常工作。