// object cache added for getGroupsStatic methode

This commit is contained in:
vChabot
2011-10-07 12:30:58 +00:00
parent d850c29d3c
commit 471df9cb8a
+13 -9
View File
@@ -131,6 +131,7 @@ class CustomerCore extends ObjectModel
protected static $_defaultGroupId = array(); protected static $_defaultGroupId = array();
protected static $_customerHasAddress = array(); protected static $_customerHasAddress = array();
protected static $_customer_groups = array();
public function getFields() public function getFields()
{ {
@@ -484,19 +485,22 @@ class CustomerCore extends ObjectModel
if (!Group::isFeatureActive()) if (!Group::isFeatureActive())
return array(1); return array(1);
$groups = array(); if (!isset(self::$_customer_groups[$id_customer]))
$result = Db::getInstance()->ExecuteS(' {
SELECT cg.`id_group` self::$_customer_groups[$id_customer] = array();
FROM '._DB_PREFIX_.'customer_group cg $result = Db::getInstance()->ExecuteS('
WHERE cg.`id_customer` = '.(int)($id_customer)); SELECT cg.`id_group`
foreach ($result AS $group) FROM '._DB_PREFIX_.'customer_group cg
$groups[] = (int)($group['id_group']); WHERE cg.`id_customer` = '.(int)$id_customer);
return $groups; foreach ($result as $group)
self::$_customer_groups[$id_customer][] = (int)$group['id_group'];
}
return self::$_customer_groups[$id_customer];
} }
public function getGroups() public function getGroups()
{ {
return self::getGroupsStatic((int)($this->id)); return self::getGroupsStatic((int)$this->id);
} }
public function isUsed() public function isUsed()