Как получить значение соединения таблицы БД 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']);

0 ответов

Другие вопросы по тегам