<?php/***+------------------* madong*+------------------* Copyright (c) https://gitee.com/motion-code All rights reserved.*+------------------* Author: Mr. April (405784684@qq.com)*+------------------* Official Website: http://www.madong.tech*/namespace madong\query\enum;/*** 查询操作符枚举* 支持的查询操作符类型*/enum Operator: string{case EQ = 'eq'; // 等于case NE = 'ne'; // 不等于case GT = 'gt'; // 大于case GTE = 'gte'; // 大于等于case LT = 'lt'; // 小于case LTE = 'lte'; // 小于等于case LIKE = 'like'; // 模糊匹配case ILIKE = 'ilike'; // 不区分大小写模糊匹配case IN = 'in'; // 包含case NOT_IN = 'not_in'; // 不包含case BETWEEN = 'between'; // 范围case NOT_BETWEEN = 'not_between'; // 非范围case NULL = 'null'; // 为空case NOT_NULL = 'not_null'; // 不为空/*** 获取所有操作符列表** @return array*/public static function all(): array{return array_map(fn($case) => $case->value, self::cases());}/*** 验证操作符是否有效** @param string $operator* @return bool*/public static function isValid(string $operator): bool{return in_array($operator, self::all(), true);}/*** 大写操作符映射* 将大写前缀映射到标准操作符** @return array*/public static function uppercaseMap(): array{return ['EQ' => self::EQ->value,'NE' => self::NE->value,'GT' => self::GT->value,'GTE' => self::GTE->value,'LT' => self::LT->value,'LTE' => self::LTE->value,'LIKE' => self::LIKE->value,'ILIKE' => self::ILIKE->value,'IN' => self::IN->value,'NOT_IN' => self::NOT_IN->value,'BETWEEN' => self::BETWEEN->value,'NOT_BETWEEN' => self::NOT_BETWEEN->value,'NULL' => self::NULL->value,'NOT_NULL' => self::NOT_NULL->value,];}/*** 转换为大写格式** @return string*/public function toUppercase(): string{$map = array_flip(self::uppercaseMap());return $map[$this->value] ?? strtoupper($this->value);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。