Есть 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
).
В моделе Profile.php:
public function getProfileSkills()
{
return $this->hasMany(ProfileSkill::className(), ['id_profile' => 'id'])
->joinWith(['id ProfileSkill'])
->joinWith(['id SkillDictionary']);
}
В контроллере Profile:
public function actionIndex()
{
$dataProvider = new ActiveDataProvider([
'query' => Profile::find(),
]);
return $this->render('index', [
'dataProvider' => $dataProvider,
]);
}
Вы задавали этот вопрос вчера и вам дали на него ответ.
Потом вы задавали этот вопрос тут и вам тоже дали на него ответ.
Может перестанете плодить темы и почитаете офф документацию Yii2 ?
Могу предложить такой вариант:
1. в модели Profile_skill прописать две связи hasOne()
с таблицами Skill и Profile. Например, для связи с Skill:
public function getNameSkill(){
return $this->hasOne(Skill::className(), ['id' => 'id_skill']);
} //Аналогично и для Profile
2. используйте жадную загрузку при выполнении запроса Profile::find(), просто сделав следующее: Profile::find()->with(). И далее, когда во вьюшке надо будет вывести название скилла, делаете так:
//внутри виджета GridView:
'columns' => [
...
[
'attribute' => 'id_skill',
'value' => function($data){
return $data->nameSkill->skill;
},
],
...
],
Надеюсь, Вам поможет этот ответ (:
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли как-то получить список подписчиков у публичных телеграм каналов? Всё что на данный момент нашел - getchatmemberscount, но там требуется chat_id,...
Интересует вот какая тема, можно ли и есди да то как реализовать поиск по базе с переменной в sql запросе так чтобы использовать только один...
Помогите внести ясность в простом вопросе, изучаю php, не могу понять одну простую вещь с переходом по адресу в теге action