98 lines
2.7 KiB
PHP
98 lines
2.7 KiB
PHP
<?php
|
|
|
|
class GoogleShoppingPeer extends BaseGoogleShoppingPeer
|
|
{
|
|
public static function retrieveByProduct(Product $product)
|
|
{
|
|
$c = new Criteria();
|
|
$c->add(self::PRODUCT_ID, $product->getId());
|
|
|
|
return self::doSelectOne($c);
|
|
}
|
|
|
|
public static function doSelectRightJoinProduct(Criteria $c, $con = null)
|
|
{
|
|
$c = clone $c;
|
|
|
|
if ($c->getDbName() == Propel::getDefaultDB())
|
|
{
|
|
$c->setDbName(self::DATABASE_NAME);
|
|
}
|
|
|
|
self::addSelectColumns($c);
|
|
|
|
ProductPeer::addSelectColumns($c);
|
|
|
|
$c->addJoin(self::PRODUCT_ID, ProductPeer::ID, Criteria::RIGHT_JOIN);
|
|
$criterion = $c->getNewCriterion(self::PRODUCT_ID, null, Criteria::ISNULL);
|
|
$criterion->addOr($c->getNewCriterion(self::PRODUCT_ID, null, Criteria::ISNOTNULL));
|
|
$c->add($criterion);
|
|
|
|
$rs = self::doSelectRs($c, $con);
|
|
|
|
if (self::$hydrateMethod)
|
|
{
|
|
return call_user_func(self::$hydrateMethod, $rs);
|
|
}
|
|
|
|
$results = array();
|
|
|
|
while ($rs->next())
|
|
{
|
|
|
|
$obj1 = new GoogleShopping();
|
|
$startcol = $obj1->hydrate($rs);
|
|
|
|
$obj2 = new Product();
|
|
$obj2->hydrate($rs, $startcol);
|
|
$obj2->addGoogleShopping($obj1);
|
|
|
|
if (null === $obj1->getId())
|
|
{
|
|
$obj1->setId($obj2->getId());
|
|
$obj1->resetModified();
|
|
}
|
|
|
|
$results[] = self::$postHydrateMethod ? call_user_func(self::$postHydrateMethod, $obj1) : $obj1;
|
|
}
|
|
|
|
return $results;
|
|
}
|
|
|
|
public static function doCountRightJoinProduct(Criteria $c, $con = null)
|
|
{
|
|
$c = clone $c;
|
|
$c->clearSelectColumns()->clearOrderByColumns();
|
|
$c->addSelectColumn('COUNT(*)');
|
|
$c->addJoin(self::PRODUCT_ID, ProductPeer::ID, Criteria::RIGHT_JOIN);
|
|
$criterion = $c->getNewCriterion(self::PRODUCT_ID, null, Criteria::ISNULL);
|
|
$criterion->addOr($c->getNewCriterion(self::PRODUCT_ID, null, Criteria::ISNOTNULL));
|
|
$c->add($criterion);
|
|
|
|
$rs = self::doSelectRS($c);
|
|
|
|
return $rs && $rs->next() ? $rs->getInt(1) : 0;
|
|
}
|
|
|
|
public static function isGoogleShoppingActive($product)
|
|
{
|
|
$c = new Criteria();
|
|
$c->add(GoogleShoppingPeer::ACTIVE, 1);
|
|
$c->add(GoogleShoppingPeer::PRODUCT_ID, $product->getId());
|
|
|
|
if (GoogleShoppingPeer::doSelectOne($c))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static function doSelectJoinProduct(Criteria $c, $con = null)
|
|
{
|
|
return parent::doSelectJoinProduct($c, $con);
|
|
}
|
|
}
|