gpt4 book ai didi

mysql - rails MySql :Empty result in development mode

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:54 24 4
gpt4 key购买 nike

我在我的 Controller 中接到了这个电话:

@tournaments = Tournament.unignored.all(
:include => [:matches,:sport,:category],
:conditions=> ["matches.status in (0,4)
&& matches.date < ?",
Time.now.end_of_week + 1.day],
:order => "sports.sort ASC, categories.sort ASC, tournaments.sort ASC")

一切都在生产模式和开发控制台中运行。但是当我尝试在开发模式下浏览到那个特定页面时,我得到:

计算nil.each时发生错误

当我将创建的 SQL 查询粘贴到 MySQL 浏览器时,就会有结果。

It refers to mysql2 (0.2.11) lib/active_record/connection_adapters/mysql2_adapter.rb:587:in `select'

查询在这一个中正确到达。

有没有人遇到过类似的问题?这个错误不知从何而来。没有更新等...

谢谢!

Rails 3.0.9 MySql 5.5 Ruby 1.8.7 and mysql2 0.2.11 gem

最佳答案

看起来您需要使用 :joins 而不是 :include

all:include 选项(以及 findwhere 等)告诉 rails 分别 执行查询以加载给定关联记录的所有必要数据。

:join 选项让 Rails 执行一个 SQL 查询,该查询连接了关联的模型,因此您可以查询它们的字段。

如果您既要查询字段又要将它们预加载到关联中,则需要同时进行:

@tournaments = Tournament.unignored.all(
:include => [:matches,:sport,:category],
:joins => [:matches,:sport,:category],
:conditions=> ["matches.status in (0,4)
&& matches.date < ?",
Time.now.end_of_week + 1.day],
:order => "sports.sort ASC, categories.sort ASC, tournaments.sort ASC")

关于mysql - rails MySql :Empty result in development mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com