【问题标题】:Need help converting SQL query to Ruby.需要帮助将 SQL 查询转换为 Ruby。
【发布时间】:2013-09-01 19:52:45
【问题描述】:

我是 Ruby on Rails 的新手。我正在尝试为以下 SQL 查询确定正确的 ruby​​ 查询。

从listing_id = 1的投标中选择max(bid_amount);

我需要提取bid_amount 列中的最大值。但它必须有一个动态的listing_id。

【问题讨论】:

    标签: sql ruby-on-rails ruby-on-rails-3 rails-console enumerator


    【解决方案1】:

    试试:

    Bidding.where('listing_id = :listing_id', listing_id: 1).maximum(:bid_amount)
    

    更新:

    跟进您的评论:既然您说您正在传递params[:id],最好将该参数转换为整数,这样不需要的值就不会进入数据库。例如

    Bidding.where('listing_id = :listing_id', listing_id: params[:id].to_i).maximum(:bid_amount)
    

    【讨论】:

    • 成功了!我必须添加 params[:id] 以从路线中捕获正确的 listing_id。
    • @RajveerSinghTut,是的,你会知道要传入什么。但一个额外的建议是,如果你要传递 params[:id],那么最好将该值转换为整数,即 params[:id].to_i
    • 为什么将该值转换为整数更好?
    • @RajveerSinghTut,在我提供的答案中,您真的不需要担心。我不确定您是否已经意识到这一点,但我认为阅读以下内容会有所帮助:guides.rubyonrails.org/security.html#sql-injection.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    相关资源
    最近更新 更多