exists(); } /** * 获取信息-单条 * @param array $params * @param array $fields * @return object|null */ public static function getOne(array $params, array $fields = ['*']): object|null { return self::where($params)->first($fields); } /** * 获取数据-多 * @param array $params * @param array $fields * @return Collection|array */ public static function getList(array $params = [], array $fields = ['*']): Collection|array { return self::where($params)->get($fields); } /** * 新增 * @param array $data * @return MessageNotice|\Hyperf\Database\Model\Model */ public static function addMessageNotice(array $data): MessageNotice|\Hyperf\Database\Model\Model { return self::create($data); } /** * 获取数据-分页 * @param array $params * @param array $message_notice_system_params * @param array $fields * @param int|null $page * @param int|null $per_page * @return array */ public static function getMessageNoticePage(array $params, array $message_notice_system_params, array $fields = ["*"], int $page = null, ?int $per_page = 10): array { // 获取系统消息 $message_notice_system = MessageNoticeSystem::select($fields)->where($message_notice_system_params)->orderBy('notice_send_time', 'desc'); $notice_system = self::select($fields)->where($params)->orderBy('notice_send_time', 'desc'); // 合并查询结果为一个虚拟表 $query = $message_notice_system->union($notice_system); $results = $query->orderBy('notice_send_time', 'desc') ->paginate($per_page, $fields, "page", $page); $data = array(); $data['current_page'] = $results->currentPage();// 当前页码 $data['total'] = $results->total();//数据总数 $data['data'] = $results->items();//数据 $data['per_page'] = $results->perPage();//每页个数 $data['last_page'] = $results->lastPage();//最后一页 return $data; } }