如何检索我的收视率" [' G'' PG',' PG-13',&# 39; R']"从我的数据库通过我的Movie类中的类方法?我的数据库包含一个电影列表,其中行包含"标题","评级","描述","发布日期"。
答案 0 :(得分:3)
要像所提到的那样在单个阵列中获得所有电影的评分,只需使用:
Movie.pluck(:ratings) #assuming column name ratings
这会产生类似
的结果['G','PG','PG-13','R']
如果您还想知道哪部电影具有哪个等级,您可以修改以下代码:
Movie.pluck(:id, :ratings)
其结果如下:
[[1,"PG"], [2,"PG-13"], [3,"G"]]
有关更多信息,请访问此链接
答案 1 :(得分:0)
如果您的评分存储在数组中,那么您必须编写一个函数来分隔以下所有内容:"['']"
。创建一个枚举或给你一个ID评级会很简单,所以当你发布一部电影并想给它一个评级时你可以通过调用它的ID或枚举值来调用它。
答案 2 :(得分:0)
从您标记了rails并列出听起来像桌面结构的事实,我将假设您正在使用Rails' ORM ActiveRecord和postgresql数据库对吗?如果是这样,您可以使用命令Movie.pluck(:ratings)
访问您的评分。这应该获取您的Movies表的评级列中的所有插入并返回它们的数组。您需要在您的一个MoviesController操作中实现此功能。
答案 3 :(得分:0)
请查看有关获取特定列的文档。特别是de pluck
方法。
http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-pluck
所以,你可以这样做:
Movie.pluck(:ratings)
其他选项是使用普通"查询"结构:
@movies = Movie.select('ratings').where(...#some condition)