dataComposer基于 PHP 的数据聚合器

联合创作 · 2023-09-29 14:09

datacomposer :数据聚合器。可以把 mysql,mongo,http api,xml, excel 等不同来源的数据按照数据列对应关系(类似于主键外键)聚合成树状结构的数据集合的实用小工具。


它是php第三方类库,通过composer工具安装或升级


目前支持的php框架:laveral, thinkphp。


小例子:如下有两张表,想在获取订单数据时,同时获取对应的商户数据。





  1. 添加一个配置文件:order.php


  2. 文件内容如下:



return [
"property" => [
"tableName" => "order",
],
"dataSource" => [
"customer" => [
"property" => [
"tableName" => "customer",
"relationKey" => ["customer_id" => "id"]
]
]
]
]

获取数据


$dc=new Engine("order");
$data=$dc->GetData();

数据如下


[
[
"id" => 1,
"customer_id" => 333,
"customer"=>[
"id"=>333,
"name"=>"小米",
"address"=>"北京"
],
"address" => "北京海淀西办街12号",
"name" => "张三",
"mobile" => "13455555555",
"number" => 3
],
[
"id" => 2,
"customer_id" => 354,
"customer"=>[
"id"=>354,
"name"=>"华为",
"address"=>"深圳"
],
"address" => "上海天津街45号301",
"name" => "李四",
"mobile" => "17634343434",
"number" => 1
]
];

注意


datacomposer(数据聚合器)只能通过父级数据源影响子级数据源数据,不能反过来。


用上面例子说明,order数据源添加where条件后, customer数据会跟随变化。


但是 customer数据源添加where条件后,只会影响自己的数据,不会影响 order数据。


支持的数据源



  • 几乎所有关系型数据库:mysql,sqlserver,oracle,sqlite 等


  • mongo


  • redis


  • excel


  • 文件型数据源:json,xml,phpArray


  • http api


  • 其他数据源(通过自定义读取器支持)


浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报