0
這裏Yii2的hasMany關係的情景:與同桌
我有兩個表:
family: id, name
person: id, name, familyId
國外關鍵是人(FAMILYID - > family.id)
在我人物模型我想要有一個關係,可以包含與當前人物具有相同familyId的所有人物作品。
本質上我想要做$person = Person::find([...])->with('family')->all()
來獲取當前的Person模型,包括一系列的家庭成員。
到目前爲止,我有這樣的PersonModel:
public function getFamilyMembers()
{
return $this->hasMany(Person::className(), ['familyId' => 'familyId']);
}
...
$person = Person::find()
->with('familyMembers')
->where(['id'=>1]);
foreach($person->family as $m) {
var_dump($m);
}
我知道我可以用接線表做到這一點。但由於它是1:n的關係,我想避免多餘的表。
謝謝。