【发布时间】:2016-12-09 14:46:08
【问题描述】:
在我们的控制器中,我们正在尝试显示一个视频系列,它应该返回类似于以下内容的 JSON:
{
id: 1,
name: "Series Name",
videos: [
id: 2,
name: "Video Name",
isInPlaylist: true,
isFavorite: false
]
}
我们正在通过另一个表添加 isInPlaylist 和 isInFavorite 属性,如果用户对视频进行了操作(评分、收藏等),我们将在该表中存储数据。
videos = series.videos
.where('videos.is_live = true')
.joins("some join to user_videos join_table")
.select(
'videos.*,
coalesce(user_videos.rating, 0.0) as user_rating,
coalesce(user_videos.enqueue, \'false\') as isInPlaylist,
coalesce(user_videos.favorite, \'false\') as isFavorite'
)
请注意,在我们的 select 语句中,这些属性显式别名为驼峰式值。然而,当我们执行这个查询时,这些属性会以小写形式返回:
{
isinplaylist: true,
isfavorite: false
}
【问题讨论】:
标签: sql ruby-on-rails postgresql ruby-on-rails-4 rails-postgresql