ucscode/pairs

一个用于在数据库中高效存储和检索键值对的PHP工具。

3.0.2 2024-02-11 04:56 UTC

This package is auto-updated.

Last update: 2024-09-11 06:23:02 UTC


README

Pair库是一个PHP工具,旨在在数据库中高效地存储和检索键值对。它提供了一个简单灵活的接口来管理关系数据库中的数据。以下是关于如何使用此库的全面指南。

致谢

这个库最初是User Synthetics项目的一部分,后来被提取出来成为一个独立的项目。

目录

简介

Pair类允许您创建一个包含键值对的元表。表中的每一行代表键和引用ID的唯一组合,允许您以灵活和高效的方式存储和检索数据。该类还支持使用外键将元表链接到父表,以保持数据完整性和一致性。

功能

  • 创建包含键值对的元表
  • 使用外键将元表链接到父表
  • 根据键和引用ID添加或更新参考数据
  • 根据键和引用ID检索参考数据
  • 根据键和引用ID删除参考数据
  • 根据特定引用ID或给定模式检索所有相关数据
  • 利用sQuery库进行高效的SQL查询生成。

需求

  • PHP 8.1或更高版本
  • MySQLi扩展
  • sQuery库(用于高效查询生成,必需)

安装

composer require ucscode/pairs

使用

初始化

use Ucscode\Pairs\Pairs;

// Include the necessary files and create a mysqli connection
$mysqli = new mysqli("host", "username", "password", "database");

// Initialize the Pairs class
$pairs = new Pairs($mysqli, 'tablename');

设置键值对

$pairs->set('car', 'toyota', 2);

为引用2设置键"car"的值为"toyota"。

检索值

$value = $pairs->get('car', 2);

检索键"car"和引用2的值。

检索时间戳

$value = $pairs->get('car', 2, true);

检索表示在数据库中添加指定键和引用的初始值时的Unix时间戳。

删除键值对

$pairs->remove('car', 2);

删除键"car"和引用2的键值对。

获取所有键值对

$allPairs = $pairs->getSequence();

按引用分组检索所有可用数据。

通过引用获取键值对

$pairsByReference = $pairs->getSequence(2);

检索引用2的所有数据。

通过键模式获取键值对

$pairsByKeyPattern = $pairs->getSequence(2, 'user-%');

检索键以"user-"开头的引用2的所有数据。

外键约束

$foreignConstraint = new ForeignConstraint('parentTableName');
$foreignConstraint->describePrimaryKeyUnsigned(true);
$foreignConstraint->describePrimaryKeyNullable(false);
$foreignConstraint->describePrimaryKeyColumnName('id');
$pairs->setForeignConstraint($foreignConstraint);

设置一个外键约束,其中"parentTableName"是父表,而键值对表是子表。

贡献

欢迎贡献!如果您发现任何问题或对改进有建议,请打开问题或在GitHub存储库上提交pull request

许可

本项目采用MIT许可协议。有关更多信息,请参阅LICENSE文件。