我的数据库中存储了以下对象:
<TenancyTenant id: 11, tenancy_id: 1, tenant_id: 1, created_at: "2017-03-15 14:30:44", updated_at: "2017-03-15 14:30:44">
当我使用以下查询时,将返回该对象:
TenancyTenant.find_by(tenancy_id: 1)
TenancyTenant.find_by(tenant_id: 1)
TenancyTenant.find_by(id: 11)
TenancyTenant.find_by(id: 11, tenancy_id: 1)
TenancyTenant.where(tenancy_id: 1, tenant_id: 1)
然而,当我使用:
TenancyTenant.find_by(tenant_id: 1, tenancy_id: 1)
然后它返回nil。
请有人可以告诉我为什么会出现这种情况吗?
答案 0 :(得分:0)
看起来ActiveRecord已缓存TenancyTenant.find_by(tenant_id: 1, tenancy_id: 1)
的结果。尝试在uncached
块中执行相同的查询:
TenancyTenant.uncached do
TenancyTenant.find_by(tenant_id: 1, tenancy_id: 1)
end