《PHP學(xué)習(xí):Yii2 hasOne(), hasMany() 實現(xiàn)三表關(guān)聯(lián)的方法(兩種)》要點:
本文介紹了PHP學(xué)習(xí):Yii2 hasOne(), hasMany() 實現(xiàn)三表關(guān)聯(lián)的方法(兩種),希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:YII框架
背景:PHP應(yīng)用
現(xiàn)有 group (組)和 user (用戶) 兩種實例.PHP應(yīng)用
一個 group 中可以擁有多個 user,一個 user 也可以屬于有多個 group (多對多關(guān)系)PHP應(yīng)用
GroupUserRelation 表用于綁定組合組員的關(guān)系(使用id綁定)
PHP應(yīng)用
字段有 id, group_id, user_idPHP應(yīng)用
現(xiàn)有User(用戶)表, 需要獲取 其所屬的所有用戶組的信息,需要使用hasMany()進行多表關(guān)聯(lián).PHP應(yīng)用
User.id => GroupUserRelation.user_id GroupUserRelation.group_id => Group.id
方法1PHP應(yīng)用
public function getGroup() { return $this->hasMany(Group::className(), ['id' => 'group_id']) ->viaTable(GroupUserRelation::tableName(), ['user_id' => 'id']); }
方法2PHP應(yīng)用
public function getGroup() { return $this->hasMany(Group::className(), ['id' => 'group_id']) ->viaTable('groupUserRelation'); } public function getGroupUserRelation() { return $this->hasMany(GroupUserRelation::tableName(), ['user_id' => 'id']); }
以上所述是小編給大家介紹的Yii2 hasOne(), hasMany() 實現(xiàn)三表關(guān)聯(lián)的方法(兩種),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的.在此也非常感謝大家對維易PHP網(wǎng)站的支持!PHP應(yīng)用
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/1798.html