0

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

Leader.user_character.logined_at が 5 日より前で、user_guild_logs が10未満のUserGuildMasterを検索したい。

検索条件は以下のとおりですが、「PGError: ERROR: schema "leader"'does not exist.」というエラーが発生します。

  @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 プロジェクトは現在サービス中で、列を追加または変更することはできません。これらの関連レコードを見つける方法がわかりません。何か案は?

4

0 に答える 0