$order = Orders::find()
->where(['order_sn' => $order_sn, 'user_id' => Yii::$app->user->identity->id])
->all();
{
"success": true,
"code": 200,
"message": "OK",
"data": [
{
"id": "658",
"order_sn": "201811088879168432",
"user_id": "290",
"order_status": 15,
"shipping_id": 0,
"shipping_name": "",
"pay_id": 0,
"pay_name": "",
"goods_amount": "1067.00",
"user_discount": 100,
"shipping_fee": "0.00",
"pay_fee": "0.00",
"integral_money": "0.00",
"coupon_id": "0",
"coupon": "0.00",
"order_amount": "1067.00",
"created_at": "1541658432",
"pay_time": "0",
"shipping_time": "0",
"finish_time": "0",
"shipping_no": "",
"pay_note": "",
"ip_address": "127.0.0.1",
"region_id": 12,
"coupon_code_id": null,
"discount_amount": null
}
]
}
ordes关联了多个表但是查询的json数据中只有order表的数据
之前在视图中如果想查询出关联数据 就使用结果集再次调用就行了 例如:$orders->user->email;但是现在是api形式的 要如何处理呢?
2 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
$order = Orders::find()
->where(['order_sn' => $order_sn, 'user_id' => Yii::$app->user->identity->id])
->all();
$data = [];
foreach ($order as $k => $val) {
$data[] = [
'id' => $val->id,
'order_sn' => $val->order_sn,
'user_email' => $val->user->email,
...
];
}
return json_encode($data);
哔哔one
TA贡献1854条经验 获得超8个赞
Model文件Orders.php
中可以使用fields()
方法的:
public function fields()
{
$fields = parent::fields();
$extraFields = ['user'];
return array_merge($fields, $extraFields);
}
- 2 回答
- 0 关注
- 400 浏览
添加回答
举报
0/150
提交
取消