我有一个主数据库表,它通过关系表 - 第一个表 - (有很多)连接到第二个表。这个连接到第三个表。
当我想从主数据库表的模型接收第二个表的数据时,我当然这样做:
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']);