首页 文章

Yii2 Rest API多对多关系

提问于
浏览
0

我创建了一个控制器来处理api请求并返回一个数据提供程序对象,Yii将其转换为JSON . (这是通过Yii ActiveController完成的 . )现在这个模型还包含一些多对多关系 . 如何在JSON结构中包含多对多关系中的数据?

防爆 .

{ sportsfan: { 
    id: 1, name: 'Bob', sport: 'Football', teams: [
        { id: 1, name: 'Arsenal'}, 
        { id:2, name: 'Real Salt Lake' }
    ] 
}

2 回答

  • 0

    我将回答我自己的问题 . 我需要做的就是以下几点 . 我在我的模型中创建了以下方法:

    public function fields()
    {
        return ['id', 'name', 'sport', 'teams'];
    }
    

    注意“id”和“sport”是模型的属性,“name”是getter函数,“teams”是关系 . Yii2对待它们都是一样的 . 这是一个很棒的功能!

  • 0

    为此目的有方法extraFields()(https://github.com/yiisoft/yii2/blob/master/docs/guide/rest-resources.md#overriding-extrafields-

    public function extraFields()
    {
        return ['teams'];
    }
    

相关问题