// object cache added for getGroupsStatic methode

This commit is contained in:
vChabot committed 2011-10-07 12:30:58 +00:00
1 parent d850c29d3c
commit 471df9cb8a
1 file changed
+10 -6
+10 -6
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]))
{
self::$_customer_groups[$id_customer] = array();
$result = Db::getInstance()->ExecuteS(' $result = Db::getInstance()->ExecuteS('
SELECT cg.`id_group` SELECT cg.`id_group`
FROM '._DB_PREFIX_.'customer_group cg FROM '._DB_PREFIX_.'customer_group cg
WHERE cg.`id_customer` = '.(int)($id_customer)); WHERE cg.`id_customer` = '.(int)$id_customer);
foreach ($result AS $group) foreach ($result as $group)
$groups[] = (int)($group['id_group']); self::$_customer_groups[$id_customer][] = (int)$group['id_group'];
return $groups; }
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()