/** * removing the relationship * * @param Product $product * @param ProductCategory $category */ public static function remove(Product $product, ProductCategory $category) { self::deleteByCriteria('productId = ? and categoryId = ?', array($product->getId(), $category->getId())); }
/** * Setter for parent * * @param ProductCategory $value The parent * * @return ProductCategory */ public function setParent(ProductCategory $value = null) { $this->_isParentChanged = !($value === null && $this->getParent() === null || $value instanceof ProductCategory && $this->getParent() instanceof ProductCategory && $value->getId() === $this->getParent()->getId()); $this->parent = $value; return $this; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param ProductCategory $value A ProductCategory object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(ProductCategory $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
/** * Getting the json for a product category * * @param ProductCategory $category * * @return multitype:multitype:NULL */ private function _getCategoryJson(ProductCategory $category) { $categoryJson = $category->getJson(); $children = array(); $categories = ProductCategory::getAllByCriteria('parentId = ?', array($category->getId())); foreach ($categories as $cate) { $children[] = $this->_getCategoryJson($cate); } $categoryJson['children'] = $children; return $categoryJson; }
/** * Declares an association between this object and a ProductCategory object. * * @param ProductCategory $v * @return ProductCategory The current object (for fluent API support) * @throws PropelException */ public function setProductCategoryRelatedByParentId(ProductCategory $v = null) { if ($v === null) { $this->setParentId(NULL); } else { $this->setParentId($v->getId()); } $this->aProductCategoryRelatedByParentId = $v; // Add binding for other direction of this n:n relationship. // If this object has already been added to the ProductCategory object, it will not be re-added. if ($v !== null) { $v->addProductCategoryRelatedByParentId($this); } return $this; }