我有一份不同职位和问题组别的问题清单
我如何找到一个id的所有问题,并选出一个最大的位置编号。
关闭
<%= @question = Question.maximum('position', :conditions => {'question_group_id' => question_group_id'}) %>
使用我得到的任何答案
#<Question:0x3fe85c0>
如何将其转化为我们可以阅读的内容
答案 0 :(得分:0)
您可以使用以下查询执行此操作。这绝对适合您。
@question = Question.where('question_group_id = ?',question_group_id).order("position desc").first
答案 1 :(得分:0)
@question = Question.where(:question_group_id => question_group_id).order("position desc").first
答案 2 :(得分:0)
首先,我看到erb
标记(<% %>
),您执行的操作在您的控制器上会更好。
现在查询(在控制器中)应为
@question = Question.where(question_group_id: question_group_id).
order("position desc").
limit(1). #because you only need one record!
first
答案 3 :(得分:0)
首先,我会将模型上的查询作为命名范围,而不是在Controller中。
鉴于此,在你的问题模型上:
scope :highest_position_by_question_group_id, lambda { |question_group_id|
where(question_group_id: question_group_id).order('position DESC').first
}
在您的控制器上:
@question = Question.highest_position_by_question_group_id(question_group_id)