gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:30 24 4
gpt4 key购买 nike

我有三个表,名称分别是“agency”、“property”和“property_agency_map”

机构表:

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

属性表:

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

property_agency_map 表:

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

property_agency_map 表将agency 表连接到property 表。

代理模式:

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

现在我的问题是如何访问 property_agency_map 中的“收藏夹”和“状态”字段??

最佳答案

您应该创建新方法来获取代理商的 property_agency_map 项目:

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']);
}
}

关于php - 如何访问 yii2 关系映射表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31476254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com