例如,有A,B,C,D,E,F表 .
A在a中具有a_id作为外键.B具有a_id和c_id作为外键 . C将d_id作为外键 . D将e_id作为外键 .
现在我如何写一个从A到D的关系 . 由于A与D没有直接关系 .
从A到C我写下如下关系 .
public function C
{
return $this->hasMany(C::className(), ['c_id' => 'c_id'])
->via('B');
}
我如何通过从A到D的关系?我无法在网上找到任何语法..谢谢..
1 回答
当我从A开始使用yii2时,我遇到了类似的问题,你需要关系到B,从B到C以及从C到D连接,就像在所有模型上一样 . 所以这个函数看起来像是这样的,它看起来像这样(我添加了一个模型主ID,它是id_A):
对于B到C也是如此,在模型B中你有:
请记住,此连接
C::className(), ['id_C' => 'c_id']
来自您需要此模型所需的下一个模型的列,数据必须相关 . 在此之后,您需要将app设置为主模型的搜索模型(A) . 搜索必须看起来像这样 . 首先添加A搜索模型:您将从其他模型添加的所有变量 . 然后在第一排加入它们
在第一行中添加所有这些后(它将使它们安全)转到