【问题标题】:Get all parent associations for children获取孩子的所有家长协会
【发布时间】:2020-06-13 21:31:50
【问题描述】:

我正在执行以下操作以获取所有带有相同标签的照片。我还想得到一张包含这些照片的相册列表。

@photos = Photo.tagged_with(@tag)

我已尝试执行以下操作,但失败了。

@albums  = @photos.albums

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails associations


    【解决方案1】:

    @photos 不是一个单一的对象,它会返回一个 ActiveRecord 对象的数组,所以你不能做@photos.albums。假设两个模型之间存在一对多的关系,那么您必须获取每张照片,然后获取与之关联的相册。

    【讨论】:

    • 谢谢。我意识到这一点。我只是认为会有一种方便的方法来实现这一点,而不是遍历每个抓取专辑?
    • 如果担心性能问题,可以通过两种方式进行改进,第一种是处理n+1问题,之后可以使用Redis缓存记录,更快地获取它们。但我没有看到另一种无需循环即可获取记录的方法。
    • 好的,我已经通过循环完成了。我只是觉得可能有更好的方法。不一定是性能明智,但代码量更简单。还是谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-09-03
    • 2021-08-19
    • 2018-01-29
    • 1970-01-01
    • 2015-05-16
    • 2011-11-10
    • 2014-03-27
    • 2015-12-22
    相关资源
    最近更新 更多