代码拉取完成,页面将自动刷新
<?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);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。