我有一个简单的用例:
用户有很多推文
推文属于用户
我正在尝试提取两个表中都存在的列名。例如:
@tweets = Tweet.includes(:user).all.pluck(:created_at)
每个表都有一个created_at列,但上面的结果返回推文的created_at。我怎样才能提取用户的created_at?
我的解决方法如下,利用连接和选择:
@tweets = Tweet.joins(:user).select("users.created_at AS created_date").all
那么我该如何使用 pluck 来做到这一点呢?
您可以执行以下操作
@tweets = Tweet.includes(:user).all.pluck(:created_at, "users.created_at")
并且.all
这里没有必要,因为joins/includes
获取所有记录/相关记录。所以最终的查询如下所示
@tweets = Tweet.includes(:user).pluck(:created_at, "users.created_at")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)