Yii2引用表的load属性

时间:2015-09-21 17:02:41

标签: model-view-controller yii2

我正在与Yii2合作创建一个应用程序。考虑一个模型A,它具有一个属性,该属性具有通过id对另一个模型B(它们都具有DB表)的外部引用。当我填充模型A的视图时,我需要显示引用的对象B的属性,而不是id。到目前为止,我在模型A中创建了一个变量,它在afterFind()期间填充,通过查询db相对于模型B的id的属性。有没有更好的方法来解决这个问题,不需要使用afterFinds或更多变量?你能提供一个例子吗?

1 个答案:

答案 0 :(得分:1)

我认为您的解决方案不是更好的方法。

您可以查看关于计算字段和相关字段的this tutorial for sample

基本上你应该做这些步骤

1)设置基础模型

jsonData := []byte(body)
var ESMVersion ESMVersionStruct
json.Unmarshal(jsonData, &ESMVersion)

fmt.Println(ESMVersion.APIMajorVersion)
fmt.Print(ESMVersion.APIMinorVersion)

}

2)如果有用的设置搜索模型

3)设置视图文件

 /* ActiveRelation */
public function getModelB()
{
    return $this->hasOne(TableB::className(), ['id' => 'country_id']);
}

/* Getter for ModelB Field name */
public function getModelBField() {
   return $this->modenB->name;

查看示例中的详细信息以获取完整说明