![](/img/trans.png)
[英]SQL - How to select a row from a table with a specific data value and a key that only occurs once
[英]In rails, how to select one specific column's data from a table? (there is only 1 row so I want only a specific result but not an array)
表的名稱是Plan,它只有一行 ,因為不允許用戶創建新數據或刪除現有數據。 他們只能編輯它。
對於表,結構如下:
<Plan id: 1, breakfast: 100, lunch: 240, dinner: 200, ...
這意味着它有三個不同的欄目:早餐,午餐和晚餐。
在控制器文件中,我想訪問用戶輸入的一個特定列的數據,例如早餐。 我怎樣才能做到這一點? 因為我對rails很新,並認為它類似於:
Plan.select("breakfast")
但是,我不希望結果是一個數組! 我只想要一個數字,以便我可以直接在我的代碼中使用它:
if xxxx > 90
...
end
非常感謝你!
由於是保證只有一排,你可以通過直接抓住它.first
還是.last
。 雖然你可能想選擇的列僅限制到所需的breakfast
用.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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.