select(); if (empty($data)) { return []; } //通过查询到绑定企业id查询出企业信息 $datas = []; foreach ($data as $key => $value) { // 查询企业信息 $res = iseUser::where('id', $value['mer_id'])->select(); if (empty($res)) { return []; } $essay = Article::where('mer_id', $value['mer_id'])->count();//获取企业下文章条数 $sort = Article::where('mer_id', $value['mer_id'])->sum('sort');//统计所有文章阅读数 foreach ($res as $k => $v) { $datas[] = ['id' => $v['id'], 'name' => $v['name'], 'headimg' => $v['headimg'], 'essay' => $essay, 'sort' => $sort,]; } } $count = count($datas); $page = (empty($type['page'])) ? '1' : $type['page']; $start = ($page - 1) * $type['rows']; $list = array_slice($datas, $start, $type['rows']); $lises = ['count' => $count, 'data' => $list]; return $lises; } public function mer() { return self::hasOne(EnterpriseUser::class, 'id', 'mer_id')->field('id,name,uid,headimg'); } public function user() { return self::hasOne(User::class, 'uid', 'uid')->field('uid,nickname,avatar'); } public static function getList($where) { $data = self::with(['mer', 'user'])->page((int)$where['page'], (int)$where['limit']); if ($where['mer_id']) $data = $data->where('mer_id', $where['mer_id']); $data = $data->select(); $count = $data->count(); return compact('count', 'data'); } public static function remove($id) { self::beginTrans(); try { $info = self::where('id', $id)->find(); if (!$info) { self::rollbackTrans(); return self::setErrorInfo('no data'); } $res = self::where('id', $id)->delete() && EnterpriseUser::where('id', $info['mer_id'])->dec('sub', 1)->update(); if ($res) { self::commitTrans(); return true; } else { self::rollbackTrans(); return self::setErrorInfo('fail'); } } catch (\Exception $e) { self::rollbackTrans(); return self::setErrorInfo($e->getMessage()); } } }