Merge branch 'cart' into loops

This commit is contained in:
Etienne Roudeix
2013-08-02 15:37:44 +02:00
5 changed files with 20 additions and 8 deletions

View File

@@ -180,7 +180,7 @@ class CurrencyTableMap extends TableMap
{ {
$this->addRelation('Order', '\\Thelia\\Model\\Order', RelationMap::ONE_TO_MANY, array('id' => 'currency_id', ), 'SET NULL', 'RESTRICT', 'Orders'); $this->addRelation('Order', '\\Thelia\\Model\\Order', RelationMap::ONE_TO_MANY, array('id' => 'currency_id', ), 'SET NULL', 'RESTRICT', 'Orders');
$this->addRelation('Cart', '\\Thelia\\Model\\Cart', RelationMap::ONE_TO_MANY, array('id' => 'currency_id', ), null, null, 'Carts'); $this->addRelation('Cart', '\\Thelia\\Model\\Cart', RelationMap::ONE_TO_MANY, array('id' => 'currency_id', ), null, null, 'Carts');
$this->addRelation('ProductPrice', '\\Thelia\\Model\\ProductPrice', RelationMap::ONE_TO_MANY, array('id' => 'currency_id', ), null, null, 'ProductPrices'); $this->addRelation('ProductPrice', '\\Thelia\\Model\\ProductPrice', RelationMap::ONE_TO_MANY, array('id' => 'currency_id', ), 'CASCADE', null, 'ProductPrices');
$this->addRelation('CurrencyI18n', '\\Thelia\\Model\\CurrencyI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'CurrencyI18ns'); $this->addRelation('CurrencyI18n', '\\Thelia\\Model\\CurrencyI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'CurrencyI18ns');
} // buildRelations() } // buildRelations()
@@ -205,6 +205,7 @@ class CurrencyTableMap extends TableMap
// Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool, // Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool,
// since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule.
OrderTableMap::clearInstancePool(); OrderTableMap::clearInstancePool();
ProductPriceTableMap::clearInstancePool();
CurrencyI18nTableMap::clearInstancePool(); CurrencyI18nTableMap::clearInstancePool();
} }

View File

@@ -169,8 +169,8 @@ class ProductPriceTableMap extends TableMap
*/ */
public function buildRelations() public function buildRelations()
{ {
$this->addRelation('ProductSaleElements', '\\Thelia\\Model\\ProductSaleElements', RelationMap::MANY_TO_ONE, array('product_sale_elements_id' => 'id', ), null, null); $this->addRelation('ProductSaleElements', '\\Thelia\\Model\\ProductSaleElements', RelationMap::MANY_TO_ONE, array('product_sale_elements_id' => 'id', ), 'CASCADE', null);
$this->addRelation('Currency', '\\Thelia\\Model\\Currency', RelationMap::MANY_TO_ONE, array('currency_id' => 'id', ), null, null); $this->addRelation('Currency', '\\Thelia\\Model\\Currency', RelationMap::MANY_TO_ONE, array('currency_id' => 'id', ), 'CASCADE', null);
} // buildRelations() } // buildRelations()
/** /**

View File

@@ -178,7 +178,7 @@ class ProductSaleElementsTableMap extends TableMap
$this->addRelation('Product', '\\Thelia\\Model\\Product', RelationMap::MANY_TO_ONE, array('product_id' => 'id', ), 'CASCADE', 'RESTRICT'); $this->addRelation('Product', '\\Thelia\\Model\\Product', RelationMap::MANY_TO_ONE, array('product_id' => 'id', ), 'CASCADE', 'RESTRICT');
$this->addRelation('AttributeCombination', '\\Thelia\\Model\\AttributeCombination', RelationMap::ONE_TO_MANY, array('id' => 'product_sale_elements_id', ), null, null, 'AttributeCombinations'); $this->addRelation('AttributeCombination', '\\Thelia\\Model\\AttributeCombination', RelationMap::ONE_TO_MANY, array('id' => 'product_sale_elements_id', ), null, null, 'AttributeCombinations');
$this->addRelation('CartItem', '\\Thelia\\Model\\CartItem', RelationMap::ONE_TO_MANY, array('id' => 'product_sale_elements_id', ), null, null, 'CartItems'); $this->addRelation('CartItem', '\\Thelia\\Model\\CartItem', RelationMap::ONE_TO_MANY, array('id' => 'product_sale_elements_id', ), null, null, 'CartItems');
$this->addRelation('ProductPrice', '\\Thelia\\Model\\ProductPrice', RelationMap::ONE_TO_MANY, array('id' => 'product_sale_elements_id', ), null, null, 'ProductPrices'); $this->addRelation('ProductPrice', '\\Thelia\\Model\\ProductPrice', RelationMap::ONE_TO_MANY, array('id' => 'product_sale_elements_id', ), 'CASCADE', null, 'ProductPrices');
} // buildRelations() } // buildRelations()
/** /**
@@ -193,6 +193,15 @@ class ProductSaleElementsTableMap extends TableMap
'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ), 'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ),
); );
} // getBehaviors() } // getBehaviors()
/**
* Method to invalidate the instance pool of all tables related to product_sale_elements * by a foreign key with ON DELETE CASCADE
*/
public static function clearRelatedInstancePool()
{
// Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool,
// since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule.
ProductPriceTableMap::clearInstancePool();
}
/** /**
* Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table.

View File

@@ -1349,10 +1349,12 @@ CREATE TABLE `product_price`
INDEX `idx_product_price_currency_id` (`currency_id`), INDEX `idx_product_price_currency_id` (`currency_id`),
CONSTRAINT `fk_product_price_product_sale_elements_id` CONSTRAINT `fk_product_price_product_sale_elements_id`
FOREIGN KEY (`product_sale_elements_id`) FOREIGN KEY (`product_sale_elements_id`)
REFERENCES `product_sale_elements` (`id`), REFERENCES `product_sale_elements` (`id`)
ON DELETE CASCADE,
CONSTRAINT `fk_product_price_currency_id` CONSTRAINT `fk_product_price_currency_id`
FOREIGN KEY (`currency_id`) FOREIGN KEY (`currency_id`)
REFERENCES `currency` (`id`) REFERENCES `currency` (`id`)
ON DELETE CASCADE
) ENGINE=InnoDB; ) ENGINE=InnoDB;
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------

View File

@@ -990,10 +990,10 @@
<column name="currency_id" required="true" type="INTEGER" /> <column name="currency_id" required="true" type="INTEGER" />
<column name="price" required="true" type="FLOAT" /> <column name="price" required="true" type="FLOAT" />
<column name="promo_price" type="FLOAT" /> <column name="promo_price" type="FLOAT" />
<foreign-key foreignTable="product_sale_elements" name="fk_product_price_product_sale_elements_id"> <foreign-key foreignTable="product_sale_elements" name="fk_product_price_product_sale_elements_id" onDelete="CASCADE">
<reference foreign="id" local="product_sale_elements_id" /> <reference foreign="id" local="product_sale_elements_id" />
</foreign-key> </foreign-key>
<foreign-key foreignTable="currency" name="fk_product_price_currency_id"> <foreign-key foreignTable="currency" name="fk_product_price_currency_id" onDelete="CASCADE">
<reference foreign="id" local="currency_id" /> <reference foreign="id" local="currency_id" />
</foreign-key> </foreign-key>
<index name="idx_product_price_product_sale_elements_id"> <index name="idx_product_price_product_sale_elements_id">