Yii2 вывод данных из связанных страниц

216
03 августа 2018, 10:30

Как вывести данные из трех связанных таблиц ?

Есть 3 таблицы: Profile – со столбцом – id Skill-dictionary – id, skill Profile_skill – id, id_profile, id_skill Profile_skill связана с двумя другими таблицами внешними ключами fk_profile-skill_profile - id_profile ->id в таблице profile fk_profile-skill_skill – id_skill id в Skill-dictionary

Необходимо во view profile вывести значение skill из Skill-dictionary (для соотв id profile) Помогите, пожалуйста. Очень надо! Если помимо запроса необходимо поменять $dataProvider, то тоже подскажите как. Сейчас так:

public function actionIndex()
{
$dataProvider = new ActiveDataProvider([
'query' => Profile::find(),
]);
return $this->render('index', [
'dataProvider' => $dataProvider,
]);
}
Answer 1

Используйте relation MANY_TO_MANY в модели Profile, отредактируйте или добавьте метод relations:

public function relations()
{
    return array(
        'skills'  => [self::MANY_MANY, 'Skill', Profile_skill(id_skill, id_profile)'],
    );
}

Теперь для вывода вы можете использовать созданный нами relation:

public function actionIndex()
{
    $profile = Profile::with('skills')->find();
    return $this->render('index',[
        'dataProvider' => $profile,
    ])
}
READ ALSO
Вывод ошибки заполнения формы PHP

Вывод ошибки заполнения формы PHP

Столкнулся с вот такой проблемойСоздал небольшую форму с обработчиком

189
Как сделать поинты/валюту на сайте

Как сделать поинты/валюту на сайте

Я не знаю как правильно сформулировать вопрос, но попробую

176
Подставить значения в массив php

Подставить значения в массив php

реально получить вот так

181
Отправка 2-х разных писем AJAX

Отправка 2-х разных писем AJAX

Есть форма, которая отправляется два раза на две почтыАбсолютно одинаковые

197