2011-03-25 39 views
0

在我的應用程序中,有一些帖子的貢獻者,他們的ID存儲在數據庫中的字符串中。我想查找用戶列爲貢獻者的帖子總數。 我已經把我的ApplicationController以下(before_filter'ed):SQL命令在Rails中查找current_user.id在字符串中的所有帖子

@posts = Post.find :all, :conditions => ['contributors like ?', current_user.id] 

該代碼是不是雖然工作。當我做@ posts.size時,它只提供「0」。

環境現狀是紅寶石1.8.6和Rails 2.3.8

有什麼想法就如何格式化SQL語句?

感謝

回答

1

你想要的東西,如:

@posts = Post.find :all, :conditions => ["contributors like '%?%'", current_user.id] 

%是一個通配符說,任何事情都有可能user_ID的面前來,什麼都可以進來的用戶ID後。

不過,如果你有機會的話,我會強烈建議做一個多對多的關係,而不是存儲的ID在一個串...如:

User 
---- 
id, username, etc 
Posts 
-------- 
post_id, content, etc 

Contributors 
-------- 
post_id user_id 
+0

啊,從來沒想到的另一種關係!將做到這一點 - 謝謝! – wastedhours 2011-03-25 16:21:15

相關問題