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


PHP ArrayHelper::index方法代码示例

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


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

示例1: actionList

 public function actionList()
 {
     $limit = 10;
     $page = is_null(Yii::$app->request->get('page')) ? 1 : Yii::$app->request->get('page');
     $offset = ((int) $page - 1) * $limit;
     $order = ['service.order' => SORT_ASC, 'id' => SORT_DESC];
     if (is_null(Yii::$app->request->get('section'))) {
         $service = Service::find()->select(['service.id', 'service.sid', 'service.header'])->innerJoinWith('secs')->orderBy($order)->offset($offset)->limit($limit)->all();
         $pagination = new Pagination(['totalCount' => Service::find()->count(), 'pageSize' => $limit]);
     } else {
         $service = Service::find()->select(['service.id', 'service.sid', 'service.header'])->innerJoinWith('secs')->where(['sec_service.sid' => Yii::$app->request->get('section')])->orderBy($order)->offset($offset)->limit($limit)->all();
         $pagination = new Pagination(['totalCount' => Service::find()->innerJoinWith('secs')->where(['sec_service.sid' => Yii::$app->request->get('section')])->count(), 'pageSize' => $limit]);
     }
     $sections = SecService::find()->asArray()->all();
     $pagination->pageSizeParam = false;
     $page = Page::find()->where(['sid' => Yii::$app->controller->id])->select(['id', 'pid', 'sid', 'header'])->one();
     $pages = Page::find()->select(['id', 'pid', 'sid', 'header'])->asArray()->indexBy('id')->all();
     $mode = $pages[$page->id];
     $branch[] = $mode;
     while (!is_null($mode['pid'])) {
         $mode = $pages[$mode['pid']];
         $branch[] = $mode;
     }
     krsort($branch);
     $sectionsBySid = ArrayHelper::index($sections, 'sid');
     if (!is_null(Yii::$app->request->get('section'))) {
         $branch[] = ['header' => $sectionsBySid[Yii::$app->request->get('section')]['header']];
     }
     return $this->render('list', ['service' => $service, 'sections' => $sections, 'pagination' => $pagination, 'branch' => $branch]);
 }
开发者ID:Zlatov,项目名称:yii2test,代码行数:30,代码来源:ServiceController.php

示例2: getFile

 public function getFile()
 {
     $src = $this->owner->{$this->srcAttrName};
     if (Yii::$app->fs->has($src) === false) {
         $src = Yii::$app->getModule('image')->noImageSrc;
         $errorImage = ErrorImage::findOne(['img_id' => $this->owner->id, 'class_name' => $this->owner->className()]);
         if ($errorImage === null) {
             $errorImage = new ErrorImage();
             $errorImage->setAttributes(['img_id' => $this->owner->id, 'class_name' => $this->owner->className()]);
             $errorImage->save();
         }
     } else {
         $fs = Yii::$app->fs;
         $components = ArrayHelper::index(Yii::$app->getModule('image')->components, 'necessary.class');
         $adapterName = ArrayHelper::getValue($components, $fs::className() . '.necessary.srcAdapter', null);
         if ($adapterName === null) {
             throw new HttpException(Yii::t('app', 'Set src compiler adapter'));
         }
         if (class_exists($adapterName) === false) {
             throw new HttpException(Yii::t('app', "Class {$adapterName} not found"));
         }
         $adapter = new $adapterName();
         if ($adapter instanceof CompileSrcInterface) {
             $src = $adapter->CompileSrc($src);
         } else {
             throw new HttpException(Yii::t('app', "Class {$adapterName} should implement CompileSrcInterface"));
         }
     }
     return $src;
 }
开发者ID:ar7n,项目名称:dotplant2,代码行数:30,代码来源:ImageExist.php

示例3: internalUpdateRelations

 public function internalUpdateRelations()
 {
     $_this = $this;
     $modelsChecked = [];
     $updateChildren = function ($model) use($_this, &$modelsChecked, &$updateChildren) {
         if (in_array($model->id, $modelsChecked)) {
             return true;
         }
         $modelsChecked[] = $model->id;
         $currentChildRelations = $model->queryChildRelations()->all();
         $currentChildRelations = ArrayHelper::index($currentChildRelations, function ($relation) {
             return $relation->child_object_id;
         });
         $childModels = $model->dataObject->childModelsFromObjects();
         $baseRelation = ['parent_object_id' => $model->id, 'active' => 1];
         $childRelations = [];
         foreach ($childModels as $childModel) {
             $updateChildren($childModel);
             if (isset($currentChildRelations[$childModel->id])) {
                 unset($currentChildRelations[$childModel->id]);
                 continue;
             }
             $childRelation = $baseRelation;
             $childRelation['child_object_id'] = $childModel->id;
             $childRelations[] = $childRelation;
         }
         $model->setRelationModels($childRelations);
         $model->save();
         foreach ($currentChildRelations as $childRelation) {
             $childRelation->delete();
         }
     };
     return $updateChildren($this->model);
 }
开发者ID:psesd,项目名称:sensor-hub,代码行数:34,代码来源:ProviderInstance.php

示例4: goodsMovementApplied

 /**
  * Handler for Good Movement created.
  * It used to update stock
  * @param \biz\core\base\Event $event
  */
 public function goodsMovementApplied($event)
 {
     /* @var $model MGoodsMovement */
     $model = $event->params[0];
     /*
      * 200 = Sales
      */
     if (!in_array($model->reff_type, [200])) {
         return;
     }
     $sales = MSales::findOne($model->reff_id);
     $salesDtls = ArrayHelper::index($sales->salesDtls, 'product_id');
     // change total qty for reff document
     /* @var $purcDtl \biz\core\sales\models\SalesDtl */
     foreach ($model->goodsMovementDtls as $detail) {
         $salesDtl = $salesDtls[$detail->product_id];
         $salesDtl->total_release += $detail->qty;
         $salesDtl->save(false);
     }
     $complete = true;
     foreach ($salesDtls as $salesDtl) {
         if ($salesDtl->total_release != $salesDtl->qty) {
             $complete = false;
             break;
         }
     }
     if ($complete) {
         $sales->status = MSales::STATUS_COMPLETE_RELEASE;
         $sales->save(false);
     } elseif ($sales->status == MSales::STATUS_DRAFT) {
         $sales->status = MSales::STATUS_PARTIAL_RELEASE;
         $sales->save(false);
     }
 }
开发者ID:sangkil,项目名称:biz3-api,代码行数:39,代码来源:Sales.php

示例5: goodsMovementApplied

 /**
  * Handler for Good Movement created.
  * It used to update stock
  * @param \biz\core\base\Event $event
  */
 public function goodsMovementApplied($event)
 {
     /* @var $model MGoodsMovement */
     $model = $event->params[0];
     /*
      * 100 = Purchase
      */
     if (!in_array($model->reff_type, [100])) {
         return;
     }
     $purchase = MPurchase::findOne($model->reff_id);
     $purchaseDtls = ArrayHelper::index($purchase->purchaseDtls, 'product_id');
     // change total qty for reff document
     /* @var $purcDtl \biz\core\purchase\models\PurchaseDtl */
     foreach ($model->goodsMovementDtls as $detail) {
         $purcDtl = $purchaseDtls[$detail->product_id];
         $purcDtl->total_receive += $detail->qty;
         $purcDtl->save(false);
     }
     $complete = true;
     foreach ($purchaseDtls as $purcDtl) {
         if ($purcDtl->total_receive != $purcDtl->qty) {
             $complete = false;
             break;
         }
     }
     if ($complete) {
         $purchase->status = MPurchase::STATUS_PROCESS;
         $purchase->save(false);
     } elseif ($purchase->status == MPurchase::STATUS_DRAFT) {
         $purchase->status = MPurchase::STATUS_PROCESS;
         $purchase->save(false);
     }
 }
开发者ID:sangkil,项目名称:application,代码行数:39,代码来源:Purchase.php

示例6: performSearch

 private function performSearch($team_name, $player_mail)
 {
     $res = array_merge($this->performNameSearch($team_name), $this->performPlayerMailSearch($player_mail));
     // remove dublicates with same key(id)
     $res = yii\helpers\ArrayHelper::index($res, 'id');
     return array_values($res);
 }
开发者ID:AndriyK,项目名称:team,代码行数:7,代码来源:TeamController.php

示例7: InsertRecord

 public static function InsertRecord($data)
 {
     if ($data) {
         $array = [];
         foreach ($data as $k => $v) {
             $array[$v['idvisit']] = [$v['idvisit'], $v['idvisitor'], $v['user_id'], $v['custom_var_v2'], IP::binaryToStringIP($v['location_ip']), 0, $v['custom_var_v1']];
         }
         //            \yii::error(var_export($array,1));
         //查找所有已经存在的记录
         $batchInsert = [];
         if ($array) {
             $findAll = ApiVisitorDetail::find()->where(['in', 'idvisit', array_keys($array)])->asArray()->all();
             if ($findAll) {
                 $findAll = ArrayHelper::index($findAll, 'idvisit');
                 $batchInsert = array_diff_key($array, $findAll);
             } else {
                 $batchInsert = $array;
             }
             $idvisits = ArrayHelper::getColumn($batchInsert, 0, false);
             StatLogVisit::updateAll(['status' => 1], ['idvisit' => $idvisits]);
             ApiVisitorDetail::xBatchInsert($batchInsert);
         }
         return count($batchInsert);
     }
 }
开发者ID:oyoy8629,项目名称:yii-core,代码行数:25,代码来源:UserLogic.php

示例8: append

 /**
  * @param  string                             $id
  * @param  array                              $data
  * @param  \biz\core\inventory\models\StockOpname $model
  * @return \biz\core\inventory\models\StockOpname
  */
 public function append($id, $data, $model = null)
 {
     /* @var $model MStockOpname */
     $model = $model ?: $this->findModel($id);
     $success = true;
     $model->scenario = MStockOpname::SCENARIO_DEFAULT;
     $model->load($data, '');
     $this->fire('_append', [$model]);
     $success = $model->save();
     $stockOpnameDtls = ArrayHelper::index($model->stockOpnameDtls, 'product_id');
     foreach ($data['details'] as $dataDetail) {
         $index = $dataDetail['product_id'];
         // product_id
         if (isset($stockOpnameDtls[$index])) {
             $detail = $stockOpnameDtls[$index];
         } else {
             $detail = new StockOpnameDtl(['id_opname' => $model->id_opname, 'product_id' => $dataDetail['product_id'], 'uom_id' => $dataDetail['uom_id'], 'qty' => 0]);
         }
         $detail->qty += $dataDetail['qty'];
         $success = $success && $detail->save();
         $stockOpnameDtls[$index] = $detail;
         $this->fire('_append_body', [$model, $detail]);
     }
     $model->populateRelation('stockOpnameDtls', array_values($stockOpnameDtls));
     if ($success) {
         $this->fire('_appended', [$model]);
     }
     return $this->processOutput($success, $model);
 }
开发者ID:sangkil,项目名称:application,代码行数:35,代码来源:StockOpname.php

示例9: __construct

 public function __construct(array $config = [])
 {
     parent::__construct($config);
     if (isset($config['fields']) == false) {
         $this->fields = \yii\helpers\ArrayHelper::index(\Yii::$app->getModule('comments')->fields, 'name');
     }
     $this->fields_names = \yii\helpers\ArrayHelper::getColumn($this->fields, 'name');
 }
开发者ID:msdie,项目名称:yii2-module-comments,代码行数:8,代码来源:CommentForm.php

示例10: run

 /**
  * @inheritdoc
  */
 public function run()
 {
     if (is_null($this->date)) {
         $this->date = date('Y-m');
     }
     $rows = (new Query())->select('COUNT(*) as count, DAY(date) as day')->from('{{%post}}')->where("DATE_FORMAT( DATE, '%Y-%m' ) = :month", [':month' => $this->date])->groupBy("DAY( `date` )")->all();
     $rows = ArrayHelper::index($rows, 'day');
     return $this->renderFile('@app/views/site/calendar.php', ['posts' => $rows, 'date' => $this->date, 'noControls' => $this->noControls]);
 }
开发者ID:bessonov87,项目名称:bw,代码行数:12,代码来源:CalendarWidget.php

示例11: getRoots

 public static function getRoots()
 {
     if (sizeof(self::$_roots)) {
         return self::$_roots;
     }
     $roots = Category::find()->where(['parentid' => 0])->all();
     self::$_roots = ArrayHelper::index($roots, 'name');
     return self::$_roots;
 }
开发者ID:simplator,项目名称:articles,代码行数:9,代码来源:Module.php

示例12: getTranslateRelations

 /**
  * @return ActiveRecord[]
  */
 protected function getTranslateRelations()
 {
     $records = $this->owner->getRelatedRecords();
     if (!isset($records['currentTranslate']) && isset($records[$this->translateRelation])) {
         $translations = ArrayHelper::index($this->owner->{$this->translateRelation}, $this->languageAttribute);
         $this->setTranslateRelations($translations);
     }
     return $this->owner['currentTranslate'];
 }
开发者ID:kdes70,项目名称:yii2-translated-behavior,代码行数:12,代码来源:TranslatedBehavior.php

示例13: loadStates

 /**
  * Reloads the system states from the database
  */
 public function loadStates()
 {
     $sql = "SELECT `key`, `value` FROM `{$this->tableName}`";
     $items = $this->getDb()->createCommand($sql)->queryAll();
     $items = ArrayHelper::index($items, 'key');
     foreach ($items as $key => $value) {
         $value = unserialize($value['value']);
         $this->map[$key] = $value;
     }
     $this->updateCache();
 }
开发者ID:opus-online,项目名称:yii2-state,代码行数:14,代码来源:MysqlState.php

示例14: cache

 public static function cache($forceUpdate = false)
 {
     $key = "api_visitor_config";
     $return = \yii::$app->cache->get($key);
     if ($return == null || $forceUpdate) {
         $data = self::find()->where(['is_closed' => 0])->asArray()->all();
         $return = ArrayHelper::index($data, "type");
         \yii::$app->cache->set($key, $return);
     }
     return $return;
 }
开发者ID:oyoy8629,项目名称:yii-core,代码行数:11,代码来源:ApiVisitorConfig.php

示例15: convertToMyFields

 /**
  * 将ERP数据转换成云客字段
  * @param type $erpData
  * @param type $serviceName
  * @return type
  */
 public function convertToMyFields($erpData, $serviceName)
 {
     //return AsyncFields::convertToMyFields($this->orgcode, $erpData, $serviceName);
     $fieldMappings = $this->getFields($serviceName);
     $fieldMappings = \yii\helpers\ArrayHelper::index($fieldMappings, 'ErpField');
     $result = [];
     foreach ($erpData as $row) {
         $newRow = $this->convertRowToMyFields($fieldMappings, $row);
         $result[] = $newRow;
     }
     return $result;
 }
开发者ID:gtyd,项目名称:jira,代码行数:18,代码来源:ErpFieldMapping.php


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