怎么对数组进行相应的拼接和改造
第一种:可以看最后的注释
/*来源:hyz,backend/modules/admin/controllers/PssStandardLogController.php
* 流水明细
*/
public function actionDetail($id)
{
$wx_id = Yii::$app->user->identity->wx_id;
$order = (new \yii\db\Query())
->select('o.id,o.order_no,o.warehouse_id,w.name as warehouse_name,w.del_name as del_warehouse_name,o.standard_category_id,o.created_name,o.opera_at,o.opera_name,o.order_remark,sc.name as standard_category_name,sc.del_name as del_standard_category_name,sc.type as standard_category_type,iw.name as in_warehouse_name,iw.del_name as del_in_warehouse_name,ow.name as out_warehouse_name,ow.del_name as del_out_warehouse_name')
->from('pss_standard_order o')
->leftJoin('pss_warehouse w', 'w.id = o.warehouse_id')
->leftJoin('pss_warehouse iw', 'iw.id=o.in_warehouse_id')
->leftJoin('pss_warehouse ow', 'ow.id=o.out_warehouse_id')
->leftJoin('pss_standard_category sc', 'sc.id = o.standard_category_id')
->where(['o.id'=>$id])
->one();
$model = (new \yii\db\Query())
->select('i.id as item_id,i.item_name,i.del_name as del_item_name,l.simple_id,s.name as simple_name,l.unit_id as unit_id,u.name as main_unit,u.del_name as del_main_unit,l.remark,l.num,b.id as brand_id,b.name as brand_name,b.del_name as del_brand_name,c.id as category_id,c.name as category_name,c.del_name as del_category_name')
->from('pss_standard_log l')
->leftJoin('pss_item_simple s', 's.id = l.simple_id')
->leftJoin('pss_item i', 'i.id = s.item_id')
->leftJoin('pss_brand b', 'b.id = i.brand_id')
->leftJoin('pss_category c', 'c.id = i.category_id')
->leftJoin('pss_item_unit u','u.id = l.unit_id')
->where(['l.order_id'=>$id])
->all();
if (!$model)
return ['status' => 7500, 'message' => "该订单不存在"];
if ($order['del_standard_category_name'])
$order['standard_category_name'] = $order['del_standard_category_name'];
if ($order['del_warehouse_name'])
$order['warehouse_name'] = $order['del_warehouse_name'];
if ($order['in_warehouse_name'] && $order['out_warehouse_name']) {
$order['warehouse_name'] = $order['in_warehouse_name'].','.$order['out_warehouse_name'];
} else if ($order['in_warehouse_name']) {
$order['warehouse_name'] = $order['in_warehouse_name'];
} else if ($order['out_warehouse_name']) {
$order['warehouse_name'] = $order['out_warehouse_name'];
}
if ($order['del_in_warehouse_name'] && $order['del_out_warehouse_name']) {
$order['warehouse_name'] = $order['del_in_warehouse_name'].','.$order['del_out_warehouse_name'];
} else if ($order['del_in_warehouse_name']) {
$order['warehouse_name'] = $order['del_in_warehouse_name'];
} else if ($order['del_out_warehouse_name']) {
$order['warehouse_name'] = $order['del_out_warehouse_name'];
}
$order['opera_at'] = date('Y-m-d H:i',$order['opera_at']);
foreach ($model as &$v) {
if ($v['del_item_name'])
$v['item_name'] = $v['del_item_name'];
if ($v['del_brand_name'])
$v['brand_name'] = $v['del_brand_name'];
if ($v['del_main_unit'])
$v['main_unit'] = $v['del_main_unit'];
if ($v['del_category_name'])
$v['category_name'] = $v['del_category_name'];
if (!$v['remark']) {
$v['remark'] = '';
}
}
$data = $order;
$data['simple_data'] = $model;//这里直接在$data新建一个键,然后将$model赋值了。
return $data;
}