Как получить значение соединения таблицы БД 3-го уровня в Yii2?
У меня есть основная таблица базы данных, которая связана через таблицу отношений - 1-я таблица - (имеет много) ко второй таблице. Этот связан с третьей таблицей.
Когда я хочу получить данные для второй таблицы из модели для основной таблицы БД, я, конечно, делаю это:
return $this->hasMany(MySecondTable::className(), ['id_1' => 'id_1'])
->viaTable('mysecondTable', ['id_2' => 'id_2']);
Это прекрасно работает... Поэтому при получении третьей таблицы мне нужно получить соотношение выше, использовать поле из моей второй таблицы и присоединиться к третьей таблице.
Есть ли какое-то решение для этого, или я должен построить свой собственный запрос?
Это может быть сделано так (не заставить его работать)
return $this->hasMany(MyThirdTable::className(), ['my_second_table.id_2_2' => 'id_2'])
->viaTable('myRelTable', ['id_r' => 'id_r'])
->viaTable('mysecondTable', ['id_2' => 'id_2']);