| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace app\api\service;
- use app\common\model\AdminModel;
- use app\common\model\StoreModel;
- class AdminService extends \app\BaseService
- {
- private $adminModel;
- private $storeModel;
- public function __construct()
- {
- $this->adminModel = new AdminModel();
- $this->storeModel = new StoreModel();
- }
- public function search($text = null) {
- $admins = $this->adminModel->findAdmins($text)->toArray();
- $store_ids = [];
- foreach ($admins as &$admin) {
- $admin['store_ids'] = $admin['store_ids'] ? explode(',', $admin['store_ids']) : [];
- $store_ids = array_unique(array_merge($store_ids, $admin['store_ids']));
- }
- $stores = $this->storeModel->findByIds($store_ids)->toArray();
- $fmt_stores = [];
- foreach ($stores as $store) {
- $fmt_stores[$store['id']] = $store;
- }
- foreach ($admins as &$admin) {
- $now_stores = array_map(function ($store_id) use ($fmt_stores){
- return $fmt_stores[$store_id];
- }, $admin['store_ids']);
- $admin['stores'] = $now_stores;
- }
- return $admins;
- }
- }
|