javaabu / pgodb-sdk-laravel

pgodb-sdk-laravel

v0.1.0 2023-03-09 11:03 UTC

This package is not auto-updated.

Last update: 2024-09-16 12:27:09 UTC


README

Latest Version on Packagist

Laravel SDK 用于最高人民检察院司法办案数据库。

安装

您可以通过 composer 安装此包

composer require javaabu/pgodb-sdk-laravel

设置 PGODB 凭据

将您个人的 PGODB 系统访问令牌以及基础 URL 添加到 config/pgodb.php

// config/pgodb.php 
... 
'api_key' => env('PGODB_API_KEY'),
'base_uri' => env('PGODB_BASE_URI')    
...

使用方法

使用 App 容器

$pgodb = App::make('pgodb-api');
$criminal_case = $pgodb->criminalCase()->find('376/2022');

使用 Facade

use PgoDbAPI;

$criminal_case = PgoDbAPI::criminalCase()->find('376/2022');

可用方法

此包作为 PGODB SDK 包的一个薄包装。

检索所有模型

PgoDbAPI::criminalCase()->get();

通过 Id 检索

我们不使用数据库 id,而是使用诸如个人身份证号码、护照号码、注册号码(法官和律师)、事件参考号码、gaziyyah 号码等管理识别字符串。

PgoDbAPI::criminalCase()->find($idString);

这是为此包内建 filter 功能的一个包装。另一种做法如下

PgoDbAPI::criminalCase()->addFilter("search", $idString)->get();

搜索词会根据检索的模型而变化。find 函数为用户抽象了这个复杂性。

存储非嵌套模型

// Sample data  
$data = [
    "incident_reference_number": "2123756022",
    "institution_reg_no": "pgo",
    "incident_at": "1996-12-30T09:11:26.000000Z",
    "lodged_at": "1998-03-13T19:00:00.000000Z"
];

PgoDbAPI::criminalCase()->store($data);

存储嵌套模型

// Sample data  
$data = [
    "individual": [
        "nid": "A169993",
        "name": "Dr. Larissa Stokes",
        "name_en": "Mr. Benedict Lockman I",
        "gender": "female",
        "mobile_number": "860.660.2765",
        "nationality_code": "MV",
        "permanent_address_country_code": "MV",
        "permanent_address_city_code": "LD0894",
        "permanent_address": "67353 Rebeka Road\nEast Opal, PA 94709",
        "individual_type": "local",
        "dob": "1995-07-14T19:00:00.000000Z",
        "email": "pemmerich@example.net"
    ]
];

PgoDbAPI::criminalCase()
      ->whereId("7/2022")
      ->complainant()
      ->store($data);

更新非嵌套模型

// Sample data  
$data = [
    "institution_reg_no": "javaabu",
];

PgoDbAPI::criminalCase()
      ->whereId("2123756022")
      ->update($data);

更新嵌套模型

// Sample data  
$data = [
    "individual": [
        "permanent_address_country_code": "MV",
    ]
];

PgoDbAPI::criminalCase()
      ->whereId("7/2022")
      ->complainant()
      ->whereId("A169993")
      ->update($data);

排序

PgoDbAPI::criminalCase()
      ->addSort("created_at")
      ->addSortByDesc("updated_at")
      ->get()

结束函数

每个这些链式函数的结束函数定义如下。一旦在链的末尾调用这些结束函数,将实际发送 API 请求。

  • get() 应返回一个项目列表
  • find($id) 应返回一个单一项目
  • delete($id) 发送删除请求并返回 true 或 false
  • store($data) 返回新存储的记录
  • update($data) 返回更新的记录

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件