即使使用有效的id,Model.association也会返回nil

时间:2014-06-19 19:04:19

标签: mysql ruby-on-rails activerecord ruby-on-rails-4 single-table-inheritance

我有两个模型,网络广播和会话。网络广播属于Session,Session有一个网络广播。此外,我在会话中使用STI,它继承了模型Schedulable,并且类型='会话'。

我有一个会话记录,让我们称之为会话,以及一个网络直播记录,我们称之为网络直播。

webcast.session_id等于session.id,反之亦然

然而,当我查询关联时,webcast.session我没有。但是,session.webcast返回网络直播记录。

此外,我尝试在过去的网络直播记录中查询Webcast.session,并加载相关记录就好了。

任何想法可能会发生在这里?提前谢谢。

更新

查询:

(session.webcast)

Webcast Load (1.0ms)  SELECT `webcasts`.* FROM `webcasts` WHERE `webcasts`.`session_id` = 2679 LIMIT 1

(webcast.session)

Session Load (0.3ms)  SELECT `schedulables`.* FROM `schedulables` WHERE `schedulables`.`import_id` IS NULL AND `schedulables`.`type` IN ('Session')  
AND `schedulables`.`id` = 2679 ORDER BY `schedulables`.`starts_at` ASC LIMIT 1

另外,我注意到如果我加载网络广播所属的特定会话记录,然后重新加载网络直播记录并再次尝试webcast.session,它将返回会话记录而不是零。

0 个答案:

没有答案