当前位置: 首页>>代码示例>>PHP>>正文


PHP ActiveRecordModel::getInstanceArray方法代码示例

本文整理汇总了PHP中ActiveRecordModel::getInstanceArray方法的典型用法代码示例。如果您正苦于以下问题:PHP ActiveRecordModel::getInstanceArray方法的具体用法?PHP ActiveRecordModel::getInstanceArray怎么用?PHP ActiveRecordModel::getInstanceArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ActiveRecordModel的用法示例。


在下文中一共展示了ActiveRecordModel::getInstanceArray方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: unserialize

 public function unserialize($serialized)
 {
     parent::unserialize($serialized);
     // load products
     $productIds = array();
     foreach ($this->orderedItems as $item) {
         $productIds[] = $item->getProduct()->getID();
     }
     $products = ActiveRecordModel::getInstanceArray('Product', $productIds, Product::LOAD_REFERENCES);
     // load product prices
     $set = new ARSet();
     foreach ($products as $product) {
         $set->add($product);
     }
     ProductPrice::loadPricesForRecordSet($set);
 }
开发者ID:saiber,项目名称:www,代码行数:16,代码来源:CustomerOrder.php

示例2: loadSpecificationData

 protected function loadSpecificationData($specificationDataArray)
 {
     if (!is_array($specificationDataArray)) {
         $specificationDataArray = array();
     }
     // get value class and field names
     $fieldClass = $this->getFieldClass();
     $fieldColumn = call_user_func(array($fieldClass, 'getFieldIDColumnName'));
     $valueItemClass = call_user_func(array($fieldClass, 'getSelectValueClass'));
     $valueClass = call_user_func(array($valueItemClass, 'getValueClass'));
     $multiValueItemClass = call_user_func(array($fieldClass, 'getMultiSelectValueClass'));
     // preload all specFields from database
     $specFieldIds = array();
     $selectors = array();
     $simpleValues = array();
     foreach ($specificationDataArray as $value) {
         $specFieldIds[$value[$fieldColumn]] = $value[$fieldColumn];
         if ($value['valueID']) {
             $selectors[$value[$fieldColumn]][$value['valueID']] = $value;
         } else {
             $simpleValues[$value[$fieldColumn]] = $value;
         }
     }
     $specFields = ActiveRecordModel::getInstanceArray($fieldClass, $specFieldIds);
     // simple values
     foreach ($simpleValues as $value) {
         $specField = $specFields[$value[$fieldColumn]];
         $class = $specField->getValueTableName();
         // temporarly fix for Eav selectors parse as string values
         //TODO: fix Eav selectors
         if ($class == "EavItem") {
             switch ($specField->type->get()) {
                 case EavFieldCommon::TYPE_NUMBERS_SELECTOR:
                     //                        $class == "EavNumericValue";
                 //                        $class == "EavNumericValue";
                 case EavFieldCommon::TYPE_TEXT_SELECTOR:
                     $class = "EavStringValue";
             }
         }
         $specification = call_user_func_array(array($class, 'restoreInstance'), array($this->owner, $specField, $value['value']));
         $this->attributes[$specField->getID()] = $specification;
     }
     // selectors
     foreach ($selectors as $specFieldId => $value) {
         if (!isset($specFields[$specFieldId])) {
             continue;
         }
         $specField = $specFields[$specFieldId];
         if ($specField->isMultiValue->get()) {
             $values = array();
             foreach ($value as $val) {
                 $values[$val['valueID']] = $val['value'];
             }
             $specification = call_user_func_array(array($multiValueItemClass, 'restoreInstance'), array($this->owner, $specField, $values));
         } else {
             $value = array_pop($value);
             $specFieldValue = call_user_func_array(array($valueClass, 'restoreInstance'), array($specField, $value['valueID'], $value['value']));
             $specification = call_user_func_array(array($valueItemClass, 'restoreInstance'), array($this->owner, $specField, $specFieldValue));
         }
         $this->attributes[$specField->getID()] = $specification;
     }
 }
开发者ID:saiber,项目名称:www,代码行数:62,代码来源:EavSpecificationManagerCommon.php

示例3: loadSpecificationData

 protected function loadSpecificationData($specificationDataArray)
 {
     if (!is_array($specificationDataArray)) {
         $specificationDataArray = array();
     }
     // get value class and field names
     $fieldClass = $this->getFieldClass();
     $fieldColumn = call_user_func(array($fieldClass, 'getFieldIDColumnName'));
     $valueItemClass = call_user_func(array($fieldClass, 'getSelectValueClass'));
     $valueClass = call_user_func(array($valueItemClass, 'getValueClass'));
     $multiValueItemClass = call_user_func(array($fieldClass, 'getMultiSelectValueClass'));
     // preload all specFields from database
     $specFieldIds = array();
     $selectors = array();
     $simpleValues = array();
     foreach ($specificationDataArray as $value) {
         $specFieldIds[$value[$fieldColumn]] = $value[$fieldColumn];
         if ($value['valueID']) {
             $selectors[$value[$fieldColumn]][$value['valueID']] = $value;
         } else {
             $simpleValues[$value[$fieldColumn]] = $value;
         }
     }
     $specFields = ActiveRecordModel::getInstanceArray($fieldClass, $specFieldIds);
     // simple values
     foreach ($simpleValues as $value) {
         $specField = $specFields[$value[$fieldColumn]];
         $class = $specField->getValueTableName();
         $specification = call_user_func_array(array($class, 'restoreInstance'), array($this->owner, $specField, $value['value']));
         $this->attributes[$specField->getID()] = $specification;
     }
     // selectors
     foreach ($selectors as $specFieldId => $value) {
         if (!isset($specFields[$specFieldId])) {
             continue;
         }
         $specField = $specFields[$specFieldId];
         if ($specField->isMultiValue->get()) {
             $values = array();
             foreach ($value as $val) {
                 $values[$val['valueID']] = $val['value'];
             }
             $specification = call_user_func_array(array($multiValueItemClass, 'restoreInstance'), array($this->owner, $specField, $values));
         } else {
             $value = array_pop($value);
             $specFieldValue = call_user_func_array(array($valueClass, 'restoreInstance'), array($specField, $value['valueID'], $value['value']));
             $specification = call_user_func_array(array($valueItemClass, 'restoreInstance'), array($this->owner, $specField, $specFieldValue));
         }
         $this->attributes[$specField->getID()] = $specification;
     }
 }
开发者ID:GregerA,项目名称:livecart,代码行数:51,代码来源:EavSpecificationManagerCommon.php


注:本文中的ActiveRecordModel::getInstanceArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。