Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2 在rest响应中包含关系数据_Yii2 - Fatal编程技术网

Yii2 在rest响应中包含关系数据

Yii2 在rest响应中包含关系数据,yii2,Yii2,在rest响应中包含关系数据的Yii方法是什么 场景:我有一个有客户的模型和一个有客户地址的模型,我想my application.com/customers返回以下内容: [ { "id": 1, "name": "Customer #1", "org_no": "2342342", "created_at": "2017-04-28 00:00:00", "created_by": 1, "updated_at": "2017-04-28

在rest响应中包含关系数据的Yii方法是什么

场景:我有一个有客户的模型和一个有客户地址的模型,我想
my application.com/customers
返回以下内容:

[
  {
    "id": 1,
    "name": "Customer #1",
    "org_no": "2342342",
    "created_at": "2017-04-28 00:00:00",
    "created_by": 1,
    "updated_at": "2017-04-28 00:00:00",
    "updated_by": 1,
    "customer_since": "2016-10-10 00:00:00",
    "next_follow_up": "2017-04-29 00:00:00",
    "email_invoice": 1,
    "invoice_email": "invoice@customer.com",
    "invoice_address": 1
    "addresses": [
        {
            "street": "teststreet 1",
            "postal": 12345
        }
    ]
  }
]

假设您在模型
Customer
中有一个获取所有客户地址的关系,即
getAddresses
,您应该在那里实现
extraFields()
方法,如下所示:

public function extraFields() {
        return [
            'addresses' => 'addresses',
        ];
    }
然后,为了包含该关系数据,您将如下调用API:

application.com/customers?expand=addresses

假设您在模型
Customer
中有一个获取所有客户地址的关系,即
getAddresses
,您应该在那里实现
extraFields()
方法,如下所示:

public function extraFields() {
        return [
            'addresses' => 'addresses',
        ];
    }
然后,为了包含该关系数据,您将如下调用API:

application.com/customers?expand=addresses