/** * Update the post count for users with posts in the topic. * * @return ORM */ public function delete() { $this->category->topics_count--; $this->category->save(); /* @var $users Model_User[] */ $users = array(); // Find all users. foreach ($this->posts->find_all() as $post) { $users[$post->user->id] = $post->user; } // Delete the topic, posts gets deleted by sql constraints. $post = parent::delete(); // Update the forum.posts property. foreach ($users as $user) { $user->set_property('forum.posts', Model_Forum_Post::get_user_post_count($user->id)); $user->save(); } return $post; }