本文整理汇总了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));
}
}
}
示例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;
}