续集选择了太多列

Phi*_*lak 6 ruby sequel

看起来Sequel的默认选择是"select*",当你添加一些连接时会引起各种问题.至少你最终会在对象中出现错误的ID(因为那时会返回多个"id"列).做点什么

.select("people.*")
Run Code Online (Sandbox Code Playgroud)

似乎工作,但它将传入的字符串视为一个列并引用它.到目前为止,我不得不回到裸SQL来解决这个问题,但我知道必须有更好的方法.

Jer*_*ans 5

Sequel的默认行为是选择所有列,但很容易覆盖.如果要仅选择单个表中的所有列:

.select(:people.*)

.select('people.*'.lit)

  • 从续集4.10开始,这些语法对我不起作用.`:people.*`抱怨`undefined方法*为:people:Symbol`和`'people.*'.lit`抱怨`未定义的方法为"people.*":String`点亮.`:'人.*'`最后搜索"人们.*"`.但是.select_all(:people)`就可以了. (7认同)
  • `'people.*'.lit`现在是`Sequel.lit('people.*')` (2认同)