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


PHP ActiveRecord::getRelatedRecords方法代码示例

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


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

示例1: afterFind

 /**
  * Handle 'afterFind' event of the owner.
  */
 public function afterFind()
 {
     if ($this->owner->isRelationPopulated('translations') && ($related = $this->owner->getRelatedRecords()['translations'])) {
         $translations = $this->indexByLanguage($related);
         foreach ($this->availableLanguages as $lang) {
             foreach ($this->attributes as $attribute) {
                 foreach ($translations as $translation) {
                     if ($translation->{$this->languageField} == $lang) {
                         $this->setTranslateAttribute($attribute . '_' . $lang, $translation->{$attribute});
                         if ($lang == Yii::$app->language) {
                             $this->setTranslateAttribute($attribute, $translation->{$attribute});
                         }
                     }
                 }
             }
         }
     } else {
         if (!$this->owner->isRelationPopulated('translation')) {
             $this->owner->translation;
         }
         $translation = $this->owner->getRelatedRecords()['translation'];
         if ($translation) {
             foreach ($this->attributes as $attribute) {
                 $this->owner->setTranslateAttribute($attribute, $translation->{$attribute});
             }
         }
     }
     foreach ($this->attributes as $attribute) {
         if ($this->owner->hasAttribute($attribute) && $this->getTranslateAttribute($attribute)) {
             $this->owner->setAttribute($attribute, $this->getTranslateAttribute($attribute));
         }
     }
 }
开发者ID:navatech,项目名称:yii2-multi-language,代码行数:36,代码来源:LanguageBehavior.php

示例2: castModel

 /**
  * Get an array representing the properties of a model.
  *
  * @param \yii\db\ActiveRecord $model
  * @return array
  */
 public static function castModel(ActiveRecord $model)
 {
     $attributes = array_merge($model->getAttributes(), $model->getRelatedRecords());
     $results = [];
     foreach ($attributes as $key => $value) {
         $results[Caster::PREFIX_VIRTUAL . $key] = $value;
     }
     return $results;
 }
开发者ID:yiisoft,项目名称:yii2-shell,代码行数:15,代码来源:YiiCaster.php


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