我目前正在學習如何使用Ruby on Rails與The Odin Project,現在我正在處理製作表單。我試圖從我的數據庫中提取獨特的日期以填充項目的下拉選項框。我在我看來使用form_for
,我使用select
函數,它接受一個數組數組,即[[「option one」,1],[「option two」,2]]等等。這個想法是隻有唯一的日期數據庫中的數據應顯示在選項中。我的問題是重複的日期不斷顯示,例如選擇不同的日期時間
03/03/2016
03/03/2016
04/03/2016
05/03/2016
06/03/2016
06/03/2016
使用的find_by_sql我試圖
SELECT DISTINCT start FROM flights
無濟於事。我嘗試了一個快速的谷歌搜索
SELECT start FROM flights GROUP BY start
但我仍然得到重複。我不是最好的SQL,所以任何幫助,將不勝感激。
編輯:
我DATATIME柱確實有一個時間組件,因此這可能是問題
從DB模式這裏是我的航班表,如果它的任何幫助
create_table "flights", force: :cascade do |t|
t.integer "from_airport_id"
t.integer "to_airport_id"
t.datetime "start"
t.integer "flight_duration"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
(1)「start」的數據類型是什麼? (2)你使用了什麼數據庫?最可能的問題是'start'有一個時間組件,你只需要提取日期(或格式化結果,以便看到時間組件)。 –
你的意思是'SELECT DISTINCT'返回重複的行嗎?很奇怪。這是整個選擇?!? – jarlh
@gordonlinoff在Rails中,它只是說日期時間,但它包含一個時間組件。這可能是問題所在,我會嘗試格式化以獲得時間部分,但我不知道如何去做。我會檢查谷歌! – SkipCloud