- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
foreach ( $category->getChildrensCategory ( $_GET['id']+0 ) as $value ) {
$count = count ( $db->fetchAll ( $db->select ()->from ( array ('I' => 'ItemShop' ) )
->join ( array ('O' => 'ItemOptions' ), 'I.1cId=O.1cId' )
->where ( 'I.Category IN (?)', array_merge ( array ($value ['Id'] ), $category->getAllChildrensCategory ( $value ['Id'] ) ) )
->where ( 'O.New = 1' )
->orWhere ( 'I.Category IN (?)', array_merge ( array ($value ['Id'] ), $category->getAllChildrensCategory ( $value ['Id'] ) ) )
->where ( 'O.Insert > ?', date ( 'Y-m-d', mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - $date, date ( 'Y' ) ) ) )
->group ( 'I.1cId' ) ) );
// ...
}
ZEND. Oh, wait... ZOMG!
Мало того, что тащим в память результат запроса, только чтобы его пересчитать, так в процессе формирования запроса два раза (!) дёргаем тяжелую рекурсивную функцию, которая собирает всех детей ноды (да, да, структура в БД имеет только Parent Node, никаких Nested Nodes и пр.)