2012-02-14 50 views
0

我已經做了這種類型的語句很多次,但它現在告訴我,該語句是模糊的。以下是錯誤:Activerecord語句「模棱兩可」,但似乎沒有錯誤

Mysql::Error: Column 'created_at' in where clause is ambiguous: SELECT  COUNT(DISTINCT `tasks`.`id`) AS count_id FROM  `tasks` LEFT OUTER JOIN `users` ON `users`.`id` = `tasks`.`author_id` WHERE  (created_at >= '2012-01-14 18:38:29') 

這裏聲明:

Task.count(:conditions => ["created_at > ?", 1.month.ago]) 

什麼我錯在這裏做什麼?

+2

你可能已經定義了一個默認範圍,並在其中包含'users'。一些影響:'default_scope includes(:users)' – Swanand 2012-02-14 19:00:34

+0

對不起,爲什麼default_scope包含(:users)會導致模糊查詢?我也碰到過這個。 – 2012-06-26 09:54:51

回答

5

嘗試:

Task.count(:conditions => ["tasks.created_at > ?", 1.month.ago]) 

你的表可能有一個created_at所以你一定要指定要在查詢中定位的表。

相關問題