当用户查看邮件时,我想将状态更新为1.
我需要一个活动记录,将状态更改为1,其中status为0,id为当前id
感谢任何帮助。 我想将此查询更改为活动记录。
UPDATE 'course_queries SET status = '1' WHERE course_queries.id =41 and status=0;
答案 0 :(得分:2)
像这样的东西
使用ActiveRecord。
@course_query = CourseQuery.find(params[:id]) #id is 41 from your comment
if @course_query.status == 0
@course_query.status = 1
@course_query.save
end
答案 1 :(得分:0)
正如Nithin所说,ActiveRecord是一个rails功能。因此,除非您使用Ruby on Rails框架,否则以下操作无效。
话虽如此,你也可以试试:
@course = CourseQuery.where(id: params[:id], status: 0).each do |q|
q.update(status: 1)
end
如果你需要一行,你可以使用:
@course = CourseQuery.where(id: params[:id], status: 0).update_all(status: 1)
然后,您可以动态更改此ID或状态。 :)
由于这些示例使用了update和update_all方法,因此我建议您阅读它们。这是一篇关于差异的文章:Difference between active record methods – update, update_all, update_attribute, update_attributes