public static function doCountJoinAllExceptColSource(Criteria $criteria, $distinct = false, $con = null) { $criteria = clone $criteria; $criteria->clearSelectColumns()->clearOrderByColumns(); if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { $criteria->addSelectColumn(ColItemPeer::COUNT_DISTINCT); } else { $criteria->addSelectColumn(ColItemPeer::COUNT); } foreach ($criteria->getGroupByColumns() as $column) { $criteria->addSelectColumn($column); } $criteria->addJoin(ColItemPeer::CATALOG_ID, CatalogPeer::ID); $criteria->addJoin(ColItemPeer::COL_STATUS_ID, ColStatusPeer::ID); $criteria->addJoin(ColItemPeer::COL_CONDITION_ID, ColConditionPeer::ID); $criteria->addJoin(ColItemPeer::MEMBER_ID, MemberPeer::ID); $criteria->addJoin(ColItemPeer::COL_LOCATION_ID, ColLocationPeer::ID); $rs = ColItemPeer::doSelectRS($criteria, $con); if ($rs->next()) { return $rs->getInt(1); } else { return 0; } }