Как вывести данные из трех связанных таблиц ?
Есть 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,
]);
}
Используйте 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,
])
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Столкнулся с вот такой проблемойСоздал небольшую форму с обработчиком
Есть форма, которая отправляется два раза на две почтыАбсолютно одинаковые