2016-02-03 4 views
1

В модели, когда у меня есть отношение hasMany, могу ли я каким-то образом получить значения определенного атрибута сцепления? Есть что-то в этом роде?Yii2 получить связанные данные в модели по hasMany отношение

public function getRelatedManyAttribute() { 
    return $this->relatedMany->concat('attributeMany'); 
} 
+0

Что вы имеете в виду с конкатенированным атрибутом? –

+0

by hasMany, есть несколько записей, поэтому я бы получил, например. Иды вроде массива назад, и я бы хотел их развязать, что в итоге я получаю результат примерно так: 845, 96354, 47 – user2511599

+0

Сгенерировали ли вы модели с gii? –

ответ

1

я не совсем уверен, если я cerrectly вас понял, но если вы хотите, чтобы все значения тот же атрибут 1: n-отношения это может быть этот простой oneliner:

public function getIdsConcatenated() { 
    return implode(', ', ArrayHelper::getColumn($this->myManyRelation, 'id')); 
} 
+0

Вот что я искал! Большое спасибо! – user2511599

+0

Вы очень рад ... рад, что я мог бы помочь! – PLM57

+0

Как добавить условие к этому? – user2511599

0

Я думаю, что вы ищете это -

public function getSubMenuMenu() 
{ 
    return $this->hasMany(Your_table_name::className(), ['id' => 'your_column_name']);; 
} 

для большего понимания визита this link

+0

Это отношение, и это уже определено в моей модели. Вопрос в том, как я могу получить доступ к атрибуту связанной модели, объединенной, если их много. – user2511599