return $this->hasMany(Social::class, ['id' => 'social_id'])
Я не знаю, как еще понятнее вам объяснить. При отображении социальных сетей пользователя и при отображении пользователей социальных сетей не нужно вообще использовать SocialUser, вся магия происходит в связях.
public function actionIndex()
{
$id = Yii::$app->user->identity['id_user'];
$user = User::findOne($id); // находим запись пользователя
$socials = $user->socialUsers; // здесь мы создаем связь, которая возвращает массив объектов соц сетей
return $this->render('index', [
'socials' => $socials,
]);
}
$socialUsers = SocialUsers::find()->where(['user_id' => $id])->one(); // это не нужно
public function actionIndex()
{
$id = Yii::$app->user->identity['id_user'];
$socialUsers = SocialUsers::find()->where(['user_id' => $id])->one();
$socials = $socialUsers->socials;
return $this->render('index', [
'socials' => $socials,
]);
}
$socialUsers = SocialUsers::findOne($id);
$user = User::findOne(['name' => 'admin']);
var_dump($user->socials); // все социальные сети админа
$id = Yii::$app->user->identity['id_user'];
$profile = Profile::find()->where(['user_id' => $id])->one(); // уберите asArray