我正在使用 Rails 2.3.8 Ruby 1.8.7 和 PostgreSQL 进行开发。我想按关系搜索记录。
用户公会大师
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
用户公会日志
class UserGuildLog < ActiveRecord::Base
belongs_to :guild, :class_name => "UserGuildMaster"
belongs_to :user_master
belongs_to :user_character, :class_name => "UserCharacter"
end
用户角色
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 项目现已投入使用,无法添加或更改列。我不知道找到这些相关记录。有任何想法吗?