我有一個名爲用戶表,我做Ruby on Rails:Class.where(...)但只返回1條記錄?
array = User.where("username=?", username)
,以獲取特定用戶名的用戶。
我的小小抱怨是,這返回一個數組,我必須做array[0]
,但應該總是隻有1個用戶返回。
無論如何,語法上指定我只期望1條記錄,它不應該是一個數組返回,只是用戶?
我有一個名爲用戶表,我做Ruby on Rails:Class.where(...)但只返回1條記錄?
array = User.where("username=?", username)
,以獲取特定用戶名的用戶。
我的小小抱怨是,這返回一個數組,我必須做array[0]
,但應該總是隻有1個用戶返回。
無論如何,語法上指定我只期望1條記錄,它不應該是一個數組返回,只是用戶?
你可以把它限制在一個結果:
User.where("username = ?", username).first
然而,你可能只是想使用動態find_by_
方法:
User.find_by_username(username)
您也可以使用限制在您需要的情況下,獲得更多的結果,但限制。
User.where("username = ?", username).order('created_at DESC').limit(5)
這裏是另一個語法找到的第一個記錄
array = User.find(:first,:conditions => {:username => username})
感謝,我還需要知道如何以及訂購! hehehe –
不錯!很高興幫助你。 –