thingengine / dataobjects
数据对象,用于加速CRUD开发
dev-master
2019-08-24 11:38 UTC
Requires
- php: >=7.2.0
- ramsey/uuid: ^3.8
- respect/validation: ^1.1
This package is not auto-updated.
Last update: 2024-09-26 18:20:28 UTC
README
基于PHP的数据对象,用于加速CRUD开发
- 数据对象旨在以Schema.org的方式尽可能通用和有用
- 所有表都创建了一个自增ID和一个令牌(UUID)
- 所有表至少包含一个ref_token来匹配所有权
- 所有表都有created_at、updated_at、deleted_at时间戳
- 所有表都有created_by、updated_by、deleted_by令牌字段以进行跟踪。
- 查询类包含内置的分页和其他简单的查询构建器命令,便于使用。
- 查询类使用(PDO::FETCH_CLASS, 'ThingEngine\DataObjects*')来返回数据对象
安装
composer require thingengine/dataobjects
需求
"require": {
"php": ">=7.2.0",
"respect/validation": "^1.1",
"ramsey/uuid": "^3.8"
},
示例
选择
//Initiate Query with PDO, Table Name, and DataObject Class Name
$query = new ThingEngine\DataObjects\Query(PDO, "te_article", "ThingEngine\DataObjects\Content\Article");
//Loop through using request pagination (?p=2&pp=3)
foreach( $query->where("created_at",">","2019-01-01 00:00:00")->paginateByRequest()->orderBy("id","DESC")->fetchAll() as $article)
echo "<P>".$article->getArticleTitle() . " ". $article->getToken();
创建
//Should be wrapped in a try/catch and add PDO Transaction for best results
$query = new ThingEngine\DataObjects\Query(PDO, "te_article", "ThingEngine\DataObjects\Content\Article");
$article = new ThingEngine\DataObjects\Content\Article();
$article->defaultValues();
$article->addValues($_REQUEST);
$query->save($article->toArray());
读取
$query = new ThingEngine\DataObjects\Query(PDO, "te_article", "ThingEngine\DataObjects\Content\Article");
foreach( $query->where("token","=",$token)->fetchAll() as $article)
echo "<P>".$article->getArticleTitle() . " ". $article->getToken();