Yii2-使用多个表获取
为了获得团队的所有用户,我需要加入5个表。表格如下:Yii2-使用多个表获取,yii,yii2,Yii,Yii2,为了获得团队的所有用户,我需要加入5个表。表格如下: User: iduser | firstName | lastName Team: idteam | name TeamUser: idteamuser | idteam | iduser Portal: idportal | name PortalTeam: idportalteam | idteam 在门户模型中,我需要获取该门户的所有用户。这可能吗?不是最佳答案,但可以使用ActiveQuery对象和join()方法。 经验: 我认
User: iduser | firstName | lastName
Team: idteam | name
TeamUser: idteamuser | idteam | iduser
Portal: idportal | name
PortalTeam: idportalteam | idteam
在门户模型中,我需要获取该门户的所有用户。这可能吗?不是最佳答案,但可以使用ActiveQuery对象和join()方法。 经验:
我认为门户模型中缺少链接到其他模型的字段(idportalteam)。添加后,可以为所有模型创建关系 门户网站:
public function getPortalTeam()
{
return $this->hasOne(PortalTeam::className(), ['idportalteam' => 'idportalteam']);
}
便携式电话:
public function getTeamUser()
{
return $this->hasOne(TeamUser::className(), ['idteam' => 'idteam']);
}
团队用户:
public function getTeam()
{
return $this->hasOne(Team::className(), ['idteam' => 'idteam']);
}
public function getUser()
{
return $this->hasOne(User::className(), ['iduser' => 'iduser']);
}
团队用户:
public function getTeam()
{
return $this->hasOne(Team::className(), ['idteam' => 'idteam']);
}
public function getUser()
{
return $this->hasOne(User::className(), ['iduser' => 'iduser']);
}
要从门户获取模型,请使用:
$portal = (new Portal())->findOne(xyz);
$team = (($portal->portalTeam)->teamUser)->team;
$user = (($portal->portalTeam)->teamUser)->user;
这是可能的!!请阅读Yii关系: