Yii2 hasOne(), hasMany() 實現(xiàn)三表關(guān)聯(lián)的方法(兩種)
背景:
現(xiàn)有 group (組)和 user (用戶) 兩種實例。
一個 group 中可以擁有多個 user,一個 user 也可以屬于有多個 group (多對多關(guān)系)
GroupUserRelation 表用于綁定組合組員的關(guān)系(使用id綁定)
字段有 id, group_id, user_id
現(xiàn)有User(用戶)表, 需要獲取 其所屬的所有用戶組的信息,需要使用hasMany()進行多表關(guān)聯(lián)。
User.id => GroupUserRelation.user_id GroupUserRelation.group_id => Group.id
方法1
public function getGroup() { return $this->hasMany(Group::className(), ['id' => 'group_id']) ->viaTable(GroupUserRelation::tableName(), ['user_id' => 'id']); }
方法2
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)的方法(兩種),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Yii2使用小技巧之通過 Composer 添加 FontAwesome 字體資源
前天幫同事改個十年前的網(wǎng)站 bug,頁面上一堆 include require 不禁讓人抱頭痛哭??吹?V2EX 上的討論說,寫 PHP 不用框架等同于耍流氓。Yii Framework 是我使用了 2 年多的 PHP 框架,器大活好,皮實耐操。 Yii2 還在 Beta 中,不過不影響拿來預研。2014-06-06php each 返回數(shù)組中當前的鍵值對并將數(shù)組指針向前移動一步實例
php each函數(shù)用于獲取數(shù)組的鍵值對,并將數(shù)組指針向前移動一步, each函數(shù)經(jīng)常和list結(jié)合使用來遍歷數(shù)組。本文章向大家介紹each的基本使用方法,需要的朋友可以參考下2016-11-11