Yii2 在rest响应中包含关系数据
在rest响应中包含关系数据的Yii方法是什么 场景:我有一个有客户的模型和一个有客户地址的模型,我想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
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