Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 它本身(间接地)查询了花名册\成员\姓名。我将该行更改为直接查询花名册信息,如下所示:m.花名册信息.成员名称。再次感谢你的努力!尽管如此,我还是奖励了你,因为你的建议让我更深入地挖掘,并最终确定了问题和解决方案。再次感谢! subscribers = [_Sql_Ruby On Rails_Activerecord_Ruby On Rails 3.2_Query Optimization - Fatal编程技术网

Sql 它本身(间接地)查询了花名册\成员\姓名。我将该行更改为直接查询花名册信息,如下所示:m.花名册信息.成员名称。再次感谢你的努力!尽管如此,我还是奖励了你,因为你的建议让我更深入地挖掘,并最终确定了问题和解决方案。再次感谢! subscribers = [

Sql 它本身(间接地)查询了花名册\成员\姓名。我将该行更改为直接查询花名册信息,如下所示:m.花名册信息.成员名称。再次感谢你的努力!尽管如此,我还是奖励了你,因为你的建议让我更深入地挖掘,并最终确定了问题和解决方案。再次感谢! subscribers = [,sql,ruby-on-rails,activerecord,ruby-on-rails-3.2,query-optimization,Sql,Ruby On Rails,Activerecord,Ruby On Rails 3.2,Query Optimization,它本身(间接地)查询了花名册\成员\姓名。我将该行更改为直接查询花名册信息,如下所示:m.花名册信息.成员名称。再次感谢你的努力!尽管如此,我还是奖励了你,因为你的建议让我更深入地挖掘,并最终确定了问题和解决方案。再次感谢! subscribers = [] mailgroup.mailgroup_members.opted_to_receive_email.includes(:roster_contact, :roster_info).each { |m| subscribers <


它本身(间接地)查询了
花名册\成员\姓名
。我将该行更改为直接查询
花名册信息
,如下所示:
m.花名册信息.成员名称
。再次感谢你的努力!尽管如此,我还是奖励了你,因为你的建议让我更深入地挖掘,并最终确定了问题和解决方案。再次感谢!
subscribers = []
mailgroup.mailgroup_members.opted_to_receive_email.includes(:roster_contact, :roster_info).each { |m|
  subscribers << { :EmailAddress => m.roster_contact.member_email,
                   :Name => m.roster_contact.member_name,
                   :CustomFields => [ { :Key => 'gender', 
                                        :Value => m.roster_info.gender.present? ? m.roster_info.gender : 'X' 
                                    } ] 
                  } if m.roster_contact.member_email.present?
}
subscribers
SELECT `ROSTER_INFO`.* FROM `ROSTER_INFO` WHERE `ROSTER_INFO`.`ID` IN ('1450', '1000', '1111')
RosterInfo Load (84.8ms)  SELECT `ROSTER_INFO`.* FROM `ROSTER_INFO` WHERE `ROSTER_INFO`.`ID` = '1450' LIMIT 1
RosterInfo Load (59.2ms)  SELECT `ROSTER_INFO`.* FROM `ROSTER_INFO` WHERE `ROSTER_INFO`.`ID` = '1000' LIMIT 1
RosterInfo Load (56.8ms)  SELECT `ROSTER_INFO`.* FROM `ROSTER_INFO` WHERE `ROSTER_INFO`.`ID` = '1111' LIMIT 1
class RosterInfo < ActiveRecord::Base
  self.primary_key = 'ID'
end
class RosterContact < ActiveRecord::Base
  self.primary_key = 'ID'

  has_many :mailgroup_members, foreign_key: 'rosterID'
  has_many :mailgroups, through: :mailgroup_members

  has_one :roster_info, foreign_key: 'ID'     # can use this line
  #belongs_to :roster_info, foreign_key: 'ID' # or this with no difference

  def member_name                             # I added this method to this
    roster_info.member_name                   # question only *after* having
  end                                         # figured out the problem.
end
class RosterWeb < ActiveRecord::Base
  self.primary_key = 'ID'
end
class Mailgroup < ActiveRecord::Base
  self.primary_key = 'ID'

  has_many :mailgroup_members, foreign_key: 'mailCatID'

  has_one :mailing_list, foreign_key: :legacy_id
end
class MailgroupMember < ActiveRecord::Base
  self.primary_key = 'ID'

  belongs_to :mailgroup, foreign_key: 'mailCatID'
  belongs_to :roster_contact, foreign_key: 'rosterID'
  belongs_to :roster_info, foreign_key: 'rosterID'
  belongs_to :roster_web, foreign_key: 'rosterID'

  scope :opted_to_receive_email, joins(:roster_web).where('ROSTER_WEB.receiveEmail=?', 1)
end
class RosterInfo < ActiveRecord::Base
  has_one :roster_contact, foreign_key: 'ID'  
end

class RosterContact < ActiveRecord::Base
  has_one :roster_info, foreign_key: 'ID' 
end
:Name => m.roster_contact.member_name,
:Name => m.roster_info.member_name,