ucscode / pairs
一个用于在数据库中高效存储和检索键值对的PHP工具。
3.0.2
2024-02-11 04:56 UTC
Requires
- php: >=8.1
- ucscode/squery: ^3.0
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文件。