2010-11-17 479 views
0

聊天(ID,狀態,名稱) chat_participations(ID,狀態,USER_ID)軌關係查詢與活動記錄

我想,如果得到了用戶如何的chat_participations的很多都是狀態計數做='未讀」

所以我有這樣的:

@chats_unread = current_user.chat_participations.where(:status => 'unread').count 

這工作正常,但是當有一個chat.status =它打破‘封閉’

我只W¯¯螞蟻計數聊天的是chat.status ='開放

我想:

@chats_unread = current_user.chat.where(:status => 'open).chat_participations.where(:status => 'unread').count 

但error'd。想法?

謝謝

+2

從這裏的小代碼,它看起來像用戶沒有與聊天的關係,所以你的current_user.chat調用不起作用。另外,聊天和chat_participations之間有關聯嗎? – raidfive 2010-11-17 04:28:37

+0

chat_participations是否也有chat_id? – rwilliams 2010-11-17 05:29:22

+0

是您使用的確切代碼?因爲我可以看到缺少字符('),所以代碼應該是 @chats_unread = current_user.chat.where(:status =>'open')。chat_participations.where(:status =>'unread')。count 檢查它是否正確。 – 2010-11-17 07:06:57

回答

0

嘗試把表名稱的條件。

where('chats.status' => 'open') 
where('chat_participations.status' => 'unread')