9
belongs_to
Message
이라는 모델이 있습니다. counter_cache
를 업데이트하면 Message
의 updated_at
시간을 업데이트하지 않습니다, 그리고 내가 cache_key
에 대한에 싶습니다 때문에사용 : counter_cache 및 : 동일한 연결에서 터치하십시오.
class Comment < ActiveRecord::Base
belongs_to :message, :counter_cache => true, :touch => true
end
내가 이런 짓을했습니다 comments.rb
에서 나는 다음과 같은 있습니다. 내 로그에 보았을 때
그러나,이 두 개의 별도의 SQL 업데이트
Message Load (4.3ms) SELECT * FROM `messages` WHERE (`messages`.`id` = 552)
Message Update (2.2ms) UPDATE `messages` SET `comments_count` = COALESCE(`comments_count`, 0) + 1 WHERE (`id` = 552)
Message Update (2.4ms) UPDATE `messages` SET `updated_at` = '2009-08-12 18:03:55', `delta` = 1 WHERE `id` = 552
이 하나의 SQL 호출하여 수행 할 수있는 방법이 있나요
원인 것으로 나타났습니다?편집 나는 미리 메시지를 선택했음을 알게되었습니다. 그게 필요한가요?
정말, 그 – juanpastas
와우처럼 아직? 7 년 후? 그건 미친 짓이야. –