1
我有三種模型:Person,Feature和PersonFeature。 PersonFeature是一個包含兩個外鍵的聯結表,person_id引用person表中的id,feature_id引用特徵表中的id。Yiii2中的Gii CRUD生成結表關係
我的問題是在Yii2中產生所有相關關係。這些是在三個模式之間的關係
人:
public function getPersonfeatures()
{
return $this->hasMany(Personfeature::className(), ['personid' => 'id']);
}
特點:
public function getPersonfeatures()
{
return $this->hasMany(Personfeature::className(), ['featureid' => 'id']);
}
PersonFeature:
public function getPerson()
{
return $this->hasOne(Person::className(), ['id' => 'personid']);
}
public function getFeature()
{
return $this->hasOne(Feature::className(), ['id' => 'featureid']);
}
但是,當我瀏覽其它帖子中,我看到,有一個'viaTable'操作,例如:
public function getPerson() {
return $this->hasMany(Person::className(), ['id' => 'personid'])
->viaTable('personfeature', ['featureid' => 'id']);}
所以基本上我的問題是,Yii應該爲我產生這個?或者我可以手動添加它?
乾杯