duanhuantong8278 2015-07-17 04:50
浏览 132
已采纳

如何访问yii2关系映射表字段

I have three table that names is 'agency' , 'property' and 'property_agency_map'

agency table :

--------------------------
| id => primary key ...  |
| name => string ...     |
| and som more fields    |
--------------------------

property table :

--------------------------
| id => primary key ...  |
| state => string ...    |
| adress => string ...   |
| and som more fields    |
--------------------------

property_agency_map table :

------------------------------
| id => primary key ...      |
| agency_id => string ...    |
| property_id => string ...  |
| status =>  intiger ...     |
| favorite =>  intiger ...   |
------------------------------

the property_agency_map table connect agency table to property table.

agency model :

 public function getProperties(){
    return $this->hasMany(Property::className(),['id'=>'property_id'])
        ->viaTable('"{{%property_agency_map}}"',['agency_id'=>'id']);
}

Now My question is How to access 'favorite' and 'status' field in property_agency_map ??

  • 写回答

1条回答 默认 最新

  • dsvtnz6350 2015-07-17 05:51
    关注

    You should create new method to get property_agency_map items for agency:

    namespace app\models;
    
    use yii\db\ActiveRecord;
    
    class PropertyAgencyMap extends ActiveRecord
    {
        /**
         * @return string the name of the table associated with this ActiveRecord class.
         */
        public static function tableName()
        {
            return 'property_agency_map';
        }
    }
    
    class Agency extends ActiveRecord
    {
        /**
         * @return string the name of the table associated with this ActiveRecord class.
         */
        public static function tableName()
        {
            return 'agency';
        }
    
        /**
         * @return \yii\db\ActiveQuery
         */
        public function getPropertyAgency()
        {
            return $this->hasMany(PropertyAgencyMap::className(), ['agency_id' => 'id']);
        }
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部