Jsh*_*523 5 activerecord ruby-on-rails ruby-on-rails-4
我有一个简单的用例:
用户有许多推文Tweet属于User
我正在尝试采用两个表中存在的列名.例如:
@tweets = Tweet.includes(:user).all.pluck(:created_at)
Run Code Online (Sandbox Code Playgroud)
每个表都有一个created_at列,但上面的结果返回tweet的created_at.我怎样才能拔出用户的created_at?
我的解决方法是在下面使用连接并选择:
@tweets = Tweet.joins(:user).select("users.created_at AS created_date").all
Run Code Online (Sandbox Code Playgroud)
那么我怎么能通过使用pluck来做到这一点?
Pav*_*van 13
你可以在下面做
@tweets = Tweet.includes(:user).all.pluck(:created_at, "users.created_at")
Run Code Online (Sandbox Code Playgroud)
而且也.all没有必要这里joins/includes获取所有记录/相关的记录.所以最终的查询将如下所示
@tweets = Tweet.includes(:user).pluck(:created_at, "users.created_at")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3585 次 |
| 最近记录: |