duanhuantong8278 2015-07-17 12: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 13: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']);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站