function ($params) { return [ 'filters' => $params['filters'], 'fields' => ['id', 'new_url', 'used_url', 'status', 'sort', 'creater', 'created_at', 'updated_at'], 'relations' => [ 'translation' => ['adp_id', 'title'], // 'new_ad' => ['id', 'type', 'img', 'price', 'status', 'sort', 'creater', 'created_at', 'updated_at'], // 'new_ad.translation' => ['ad_id', 'alt', 'title'], // 'used_ad' => ['id', 'type', 'img', 'price', 'status', 'sort', 'creater', 'created_at', 'updated_at'], // 'used_ad.translation' => ['ad_id', 'alt', 'title'], ], 'sorts' => [ ['field' => 'sort', 'direction' => 'desc'], ['field' => 'created_at', 'direction' => 'desc'], ], 'pagination' => [ 'page' => $params['page'] ?? 1, 'per_page' => $params['per_page'] ?? 10, ] ]; }, ]; } public function ad_arrange(array $ad): array{ foreach ($ad as $k => &$v) { $v['type_txt'] = $v['type'] == 1?'新车' : ($v['type'] == 2?'二手车' : ''); $v['alt'] = isset($v['translation']) ? $v['translation']['alt'] : ''; $v['title'] = isset($v['translation']) ? $v['translation']['title'] : ''; if(!empty($v['img'])){ $v['full_img'] = (new \app\mzl\modules\upload\service\OssService())->generatePrivateUrl($v['img']); }else{ $v['full_img'] = ''; } unset($v['translation']); $item['ad'][$k] = $v; } return $ad; } }