/** * Exclude object from result * * @param OrganizationProduct $organizationProduct Object to remove from the list of results * * @return OrganizationProductQuery The current query, for fluid interface */ public function prune($organizationProduct = null) { if ($organizationProduct) { $this->addCond('pruneCond0', $this->getAliasedColName(OrganizationProductPeer::ORGANIZATION_ID), $organizationProduct->getOrganizationId(), Criteria::NOT_EQUAL); $this->addCond('pruneCond1', $this->getAliasedColName(OrganizationProductPeer::PRODUCT_ID), $organizationProduct->getProductId(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1'), Criteria::LOGICAL_OR); } return $this; }
/** * Filter the query by a related OrganizationProduct object * * @param OrganizationProduct|PropelObjectCollection $organizationProduct the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ProductQuery The current query, for fluid interface * @throws PropelException - if the provided filter is invalid. */ public function filterByOrganizationProduct($organizationProduct, $comparison = null) { if ($organizationProduct instanceof OrganizationProduct) { return $this->addUsingAlias(ProductPeer::ID, $organizationProduct->getProductId(), $comparison); } elseif ($organizationProduct instanceof PropelObjectCollection) { return $this->useOrganizationProductQuery()->filterByPrimaryKeys($organizationProduct->getPrimaryKeys())->endUse(); } else { throw new PropelException('filterByOrganizationProduct() only accepts arguments of type OrganizationProduct or PropelCollection'); } }
/** * 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 OrganizationProduct $obj A OrganizationProduct object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool($obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = serialize(array((string) $obj->getOrganizationId(), (string) $obj->getProductId())); } // if key === null OrganizationProductPeer::$instances[$key] = $obj; } }
} } else { return error('unknown-product', 'Product not found'); } }); }); $app->post('/products/:id/organizations', function ($id) use($app) { if_is_admin(function () use($app, $id) { $product = ProductQuery::create()->findPk($id); if ($product) { $data = json_decode($app->request()->getBody(), true); $res = array(); foreach ($data as $newRelation) { $org = OrganizationQuery::create()->findPk($newRelation['id']); if ($org) { $op = new OrganizationProduct(); $op->setOrganization($org); if ($newRelation['expires']) { $op->setExpires($newRelation['expires']); } $product->addOrganizationProduct($op); } $res[] = $op; } try { $product->save(); ok($res); } catch (Exception $e) { error('io-error', $e->getMessage()); } } else {
/** * @param Organization $organization The organization object to add. */ protected function doAddOrganization($organization) { $organizationProduct = new OrganizationProduct(); $organizationProduct->setOrganization($organization); $this->addOrganizationProduct($organizationProduct); }