簡體   English   中英

Rails SQL 選擇,在 CASE 語句中似乎沒有按預期工作

[英]Rails SQL select, doesn't seem to work as expected with the CASE statement

我試圖了解如何在查詢中使用 select 方法來返回自定義列。

我正在運行 Rails 5.2,數據庫是 postgresql。

m = Message.all.select("messages.*, CASE WHEN id > 30 THEN TRUE ELSE FALSE END AS above_30")

僅返回消息表及其所有列。 我如何獲得above_30列,最好above_30加載?

above_30在那里,但 Rails 不會為它定義訪問,因為在您的架構中沒有該名稱的列。

您可以自己定義一個,或者使用m[:above_30]來訪問從查詢返回的對象的“原始”屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM