php-如何访问yii2关系图表字段
作者:互联网
我有三个表,名称分别为“ 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表将代理表连接到属性表.
代理模式:
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']);
}
}
标签:yii2,relational-database,php 来源: https://codeday.me/bug/20191120/2040548.html