children_count field in Magento can sometimes become inaccurate if you have created a category via the PHP API and set an
entity_id whilst doing so. It is due to part of the
after_save mechanism which overrides the
children_count parameter (even if explicitly set via
For the majority of the admin area, an inaccurate children count won’t normally pose an issue, however, upon using the AJAX category tree (Eg. in product edit, promotional rules etc.) – any category with an inaccurate children count may not display the expand icon.
It can quickly and easily be reset, albeit with a bit of quick and dirty SQL.
CREATE TABLE catalog_category_entity_tmp LIKE catalog_category_entity; INSERT INTO catalog_category_entity_tmp SELECT * FROM catalog_category_entity; UPDATE catalog_category_entity cce SET children_count = ( SELECT count(cce2.entity_id) as children_county FROM catalog_category_entity_tmp cce2 WHERE PATH LIKE CONCAT(cce.path,'%') ); DROP TABLE catalog_category_entity_tmp;