KataoProductFamilyPeer.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Subclass for performing query and update operations on the 'katao_product_family' table.
  4. *
  5. * @package lib.model
  6. */
  7. class KataoProductFamilyPeer extends BaseKataoProductFamilyPeer {
  8. /**
  9. * KataoProductFamilyPeer::retrieveByUrlIdentifier()
  10. *
  11. * @param string $url_identifier
  12. * @return KataoProductFamily
  13. */
  14. public static function retrieveByUrlIdentifier($url_identifier) {
  15. $criteria = new Criteria();
  16. $criteria->add(self::URL_IDENTIFIER, $url_identifier);
  17. return self::doSelectOne($criteria);
  18. }
  19. public static function getAllByProductCategoryUrlIdentifier($url_identifier) {
  20. $return = array();
  21. $criteria = new Criteria();
  22. $criteria->addSelectColumn(self::ID);
  23. $criteria->addSelectColumn(self::NAME);
  24. $criteria->addSelectColumn(self::URL_IDENTIFIER);
  25. $criteria->addJoin(self::KATAO_PRODUCT_CATEGORY_ID, KataoProductCategoryPeer::ID);
  26. $criteria->addJoin(self::ID, KataoProductPeer::KATAO_PRODUCT_FAMILY_ID);
  27. $criteria->add(KataoProductPeer::ID, sfContext::getInstance()->getUser()->getAvailableProducts(), Criteria::IN);
  28. $criterion = $criteria->getNewCriterion(KataoProductPeer::IS_ARCHIVED, null);
  29. $criterion->addOr($criteria->getNewCriterion(KataoProductPeer::IS_ARCHIVED, false));
  30. $criteria->addAnd($criterion);
  31. $criteria->add(KataoProductCategoryPeer::URL_IDENTIFIER, $url_identifier);
  32. $criteria->addAscendingOrderByColumn(self::NAME);
  33. $rs = self::doSelectRS($criteria);
  34. while ($rs->next()) {
  35. $return[$rs->getInt(1)] = array('name' => $rs->getString(2), 'url' => $rs->getString(3));
  36. }
  37. return $return;
  38. }
  39. public static function getAllGroupedByCategory() {
  40. $return = array();
  41. $sf_user = sfContext::getInstance()->getUser();
  42. $criteria = new Criteria();
  43. $criteria->addSelectColumn(self::ID);
  44. $criteria->addSelectColumn(self::NAME);
  45. $criteria->addSelectColumn(KataoProductCategoryPeer::NAME);
  46. $criteria->addJoin(KataoProductFamilyPeer::KATAO_PRODUCT_CATEGORY_ID, KataoProductCategoryPeer::ID);
  47. $criteria->addAscendingOrderByColumn(KataoProductCategoryPeer::SORT_ORDER);
  48. $criteria->addAscendingOrderByColumn(KataoProductFamilyPeer::NAME);
  49. $rs = self::doSelectRS($criteria);
  50. while ($rs->next()) {
  51. $katao_product_family_id = $rs->getString(1);
  52. $katao_product_family_name = $rs->getString(2);
  53. $katao_product_category_name = $rs->getString(3);
  54. $return[$katao_product_category_name][$katao_product_family_id] = $katao_product_family_name;
  55. }
  56. return $return;
  57. }
  58. }