Ruby 为什么Sequel只返回第一个匹配行?

Ruby 为什么Sequel只返回第一个匹配行?,ruby,sequel,Ruby,Sequel,我有一个名为sk.db的SQLite3数据库,其中有一个名为Sked的表,该表显示了带有日期列的体育比赛时间表。下面的代码只给出了第一个匹配行,而不是所有匹配行,其中应该有很多匹配行。我在where(…)中使用什么并不重要,它只会给我第一个匹配的行。如果我使用schedule.all,它将提供整个数据库,但如果我使用where,则只提供第一个匹配行 我哪里做错了 .rb 需要“日期” 需要“续集” 需要“sinatra” DB=续集。连接(“sqlite://sk.db") 类Skeddate.

我有一个名为sk.db的SQLite3数据库,其中有一个名为Sked的表,该表显示了带有日期列的体育比赛时间表。下面的代码只给出了第一个匹配行,而不是所有匹配行,其中应该有很多匹配行。我在
where(…)
中使用什么并不重要,它只会给我第一个匹配的行。如果我使用
schedule.all
,它将提供整个数据库,但如果我使用
where
,则只提供第一个匹配行

我哪里做错了

.rb

需要“日期”
需要“续集”
需要“sinatra”
DB=续集。连接(“sqlite://sk.db")
类Skeddate.today)
雇员再培训局:游戏
结束
B.雇员再培训局

游戏


这可能很笨重,但我认为它可以满足您的需要。试一试

.rb

B.雇员再培训局

B.雇员再培训局

游戏

。如果(…)
查询实际上不检索记录,则返回可用于链接更多查询的数据集,例如:

my_posts = DB[:posts].where(:author => 'david').where(:topic => 'ruby') # no records are retrieved
如果要实际检索记录,请在末尾添加一个
all

@todaymatches = schedule.where(:date => Date.today).all # records are retrieved
见:

.
.
.
get '/' do
  @todaymatches = schedule.where(:date => Date.today)

  def print_today_matches
    @todaymatches.each { |x| puts x.inspect }
  end

  erb :games
end
<h1>Games</h1>
<p><%= print_today_matches %></p>
.
.
.
get '/' do
  @todaymatches = schedule.where(:date => Date.today)
  erb :games
end
<h1>Games</h1>
<p><%= @todaymatches.each { |x| p x } %></p>
my_posts = DB[:posts].where(:author => 'david').where(:topic => 'ruby') # no records are retrieved
@todaymatches = schedule.where(:date => Date.today).all # records are retrieved