我正在开发Rails 2.3.8 Ruby 1.8.7和PostgreSQL。 我想按关系搜索记录。
UserGuildMaster
class UserGuildMaster < ActiveRecord::Base
has_one :leader, :foreign_key => 'guild_id', :class_name => 'UserGuildLog', :conditions => {:leader_flag => 1, :status => 1}
has_many :user_guild_logs, :foreign_key => 'guild_id', :class_name => 'UserGuildLog'
end
UserGuildLog
class UserGuildLog < ActiveRecord::Base
belongs_to :guild, :class_name => "UserGuildMaster"
belongs_to :user_master
belongs_to :user_character, :class_name => "UserCharacter"
end
UserCharacter
class UserCharacter < ActiveRecord::Base
end
我想搜索 UserGuildMaster , leader.user_character.logined_at在5天之前,少于10个user_guild_logs 。
我的查找条件如下,但会引发错误'PGError:错误:架构“领导者”'不存在。
@user_guild_masters = UserGuildMaster.find(:all, :include => [{:leader => :user_character}, :user_guild_logs],
:conditions => ['leader.user_character.logined_at < ? AND user_guild_logs.size < ?', 5.days.ago, 10]
)
此Rails项目现已投入使用,无法添加或更改列。 我不知道要找到这些相关记录。有什么想法吗?