public function testLoad() { $collection = new ObjectCollection(); $collection->setModel('\\Thelia\\Model\\RewritingArgument'); for ($i = 0; $i < 3; $i++) { $ra = new RewritingArgument(); $ra->setParameter('foo' . $i); $ra->setValue('bar' . $i); $ra->setVirtualColumn('ru_view', 'view'); $ra->setVirtualColumn('ru_viewId', 'viewId'); $ra->setVirtualColumn('ru_locale', 'locale'); $ra->setVirtualColumn('ru_redirected_to_url', null); $collection->append($ra); } $resolverQuery = $this->getMock('\\Thelia\\Model\\RewritingUrlQuery', array('getResolverSearch')); $resolverQuery->expects($this->any())->method('getResolverSearch')->with('foo.html')->will($this->returnValue($collection)); $resolver = new RewritingResolver(); $rewritingUrlQuery = $this->getProperty('rewritingUrlQuery'); $rewritingUrlQuery->setValue($resolver, $resolverQuery); $resolver->load('foo.html'); $this->assertEquals('view', $resolver->view); $this->assertEquals('viewId', $resolver->viewId); $this->assertEquals('locale', $resolver->locale); $this->assertEquals(array('foo0' => 'bar0', 'foo1' => 'bar1', 'foo2' => 'bar2'), $resolver->otherParameters); }
/** * Exclude object from result * * @param ChildRewritingArgument $rewritingArgument Object to remove from the list of results * * @return ChildRewritingArgumentQuery The current query, for fluid interface */ public function prune($rewritingArgument = null) { if ($rewritingArgument) { $this->addCond('pruneCond0', $this->getAliasedColName(RewritingArgumentTableMap::REWRITING_URL_ID), $rewritingArgument->getRewritingUrlId(), Criteria::NOT_EQUAL); $this->addCond('pruneCond1', $this->getAliasedColName(RewritingArgumentTableMap::PARAMETER), $rewritingArgument->getParameter(), Criteria::NOT_EQUAL); $this->addCond('pruneCond2', $this->getAliasedColName(RewritingArgumentTableMap::VALUE), $rewritingArgument->getValue(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1', 'pruneCond2'), Criteria::LOGICAL_OR); } return $this; }
/** * Filter the query by a related \Thelia\Model\RewritingArgument object * * @param \Thelia\Model\RewritingArgument|ObjectCollection $rewritingArgument the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildRewritingUrlQuery The current query, for fluid interface */ public function filterByRewritingArgument($rewritingArgument, $comparison = null) { if ($rewritingArgument instanceof \Thelia\Model\RewritingArgument) { return $this->addUsingAlias(RewritingUrlTableMap::ID, $rewritingArgument->getRewritingUrlId(), $comparison); } elseif ($rewritingArgument instanceof ObjectCollection) { return $this->useRewritingArgumentQuery()->filterByPrimaryKeys($rewritingArgument->getPrimaryKeys())->endUse(); } else { throw new PropelException('filterByRewritingArgument() only accepts arguments of type \\Thelia\\Model\\RewritingArgument or Collection'); } }
/** * @param RewritingUrl $url * @param string $name * @param string $value * @return RewritingArgument */ private function insertUrlArgument(RewritingUrl $url, $name, $value) { $insert = new RewritingArgument(); $insert->setRewritingUrlId($url->getId())->setParameter($name)->setValue($value)->save(); return $insert; }
/** * 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 you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by find*() * and findPk*() calls. * * @param \Thelia\Model\RewritingArgument $obj A \Thelia\Model\RewritingArgument 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 (null === $key) { $key = serialize(array((string) $obj->getRewritingUrlId(), (string) $obj->getParameter(), (string) $obj->getValue())); } // if key === null self::$instances[$key] = $obj; } }