gpt4 book ai didi

mysql - 在rails中,如何从表中选择一个特定列的数据? (只有 1 行所以我只想要一个特定的结果而不是一个数组)

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:52 24 4
gpt4 key购买 nike

该表的名称是 Plan,它只有一行,因为不允许用户创建新数据或删除现有数据。他们只能编辑它。

对于表来说,结构是这样的:

<Plan id: 1, breakfast: 100, lunch: 240, dinner: 200, ...

这意味着它具有三个不同的列:早餐、午餐和晚餐。

在 Controller 文件中,我想访问用户输入的特定列的数据,例如早餐。我怎样才能做到这一点?由于我对 rails 很陌生,并假设它类似于:

Plan.select("breakfast")

但是,我不希望结果是一个数组!我只需要一个数字,这样我就可以在我的代码中直接使用它:

if xxxx > 90
...
end

非常感谢!

最佳答案

因为保证只有一行,可以直接通过.first or .last抓取.虽然您可能希望使用 .select() 方法将所选列限制为所需的早餐,但这可能不是必需的并且您可以从结果对象中检索 breakfast:

Plan.last.breakfast
=> 100
# Generates this query:
Plan Load (0.4ms) SELECT "plans".* FROM "plans" ORDER BY "plans"."id" DESC LIMIT 1

使用 .select()使 SQL 查询检索 breakfast 列是可能的,但除了非常微小的内存增加之外不会给您带来太多好处。

Plan.select(:breakfast).last.breakfast
=> 100
# Generates this query:
Plan Load (0.4ms) SELECT breakfast FROM "plans" ORDER BY "plans"."id" DESC LIMIT 1

当然,您可以将它存储到一个变量中,或者直接在您的表达式中使用它:

if Plan.last.breakfast > 90
# whatever
end

关于mysql - 在rails中,如何从表中选择一个特定列的数据? (只有 1 行所以我只想要一个特定的结果而不是一个数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23318591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com