gpt4 book ai didi

ruby-on-rails - 升级到 Rails 2.3.5 并且 Eager 加载停止工作?

转载 作者:行者123 更新时间:2023-12-04 07:00:23 25 4
gpt4 key购买 nike

我刚刚升级到 rails 2.3.5 和一个带有一些预先加载的 find 语句,之前运行良好,突然停止工作。

Advertisement.find :all, :include => [{:user => :contact}, {:apartment => {:building => :address}}], :conditions => [query_info[1]], :order => query_info[0]

这是我得到的错误
Mysql::Error: Unknown column 'company_id' in 'where clause': SELECT * FROM `advertisements` WHERE (company_id = 10 AND on_market = 1) 

找不到该列的原因是因为我想要包含的表都没有包含在内?据我所知,find 语句的语法在最新版本的 rails 中仍然是正确的,那么是什么给出的呢?

最佳答案

问题不在我的包含语句中,而是在条件中。在旧版本的 rails 中可以这样做

conditions => " company_id = 10 " 

其中 company_id 是 include 语句中其中一个表中的一列。这不再起作用,您现在需要包含表名。我猜是因为 rails 现在做了一些花哨的解析。这就是现在对我有用的方法。
conditions => " users.company_id = 10 "

关于ruby-on-rails - 升级到 Rails 2.3.5 并且 Eager 加载停止工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1963774/

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