【发布时间】:2014-01-22 06:24:31
【问题描述】:
有两个模型A,B这样:
class A < ActiveRecord::Base
has_one :b,:foreign_key => :sid
end
class B < ActiveRecord::Base
belongs_to :a,:foreign_key => :sid
end
A 有字段 id which auto_increment,归档 sid which uniq
B 已提交 sid 我设置为 primary_key
现在我想通过a 实例获取b 实例。我的代码是这样的:
A.frist.b
我有错误
SELECT `b_model_name`.* FROM `b_model_name` WHERE `b_model_name`.`sid` = 1 LIMIT 1
注意在数据库模型B有sid先关联模型A的记录
我想知道为什么查询会喜欢
SELECT `b_model_name`.* FROM `b_model_name` WHERE `b_model_name`.`sid` = 1 LIMIT 1
为什么不:
SELECT `b_model_name`.* FROM `b_model_name` WHERE `b_model_name`.`sid` = a.sid LIMIT 1
【问题讨论】:
标签: ruby-on-rails ruby activerecord