数据库层数据库接口和类

0.2.1 2022-04-12 08:59 UTC

This package is auto-updated.

Last update: 2024-09-25 22:59:01 UTC


README

()

用于与构建器和其生成的代码一起使用的数据库类。

自定义方法

您可以创建一些自定义方法来轻松修改数据,在将其发送到客户端之前。

  • customQueryOptions
    • 在数据访问之前运行
    • 允许您修改WHERE子句
    • 检查查询字符串值
  • customResponseOptions
    • 在发送数据之前最后运行
    • 完全访问JSON响应对象
  • getListPost
    • 在从数据库获取数据之后运行
  • createPre
    • 在创建数据库记录之前检查数据
/**
 * Gets the query string parameters for pagination
 *
 * @param array $options
 * @param array $params
 *
 * @return void
 */
public function customQueryOptions(&$options, $params): void {
    if (isset($params['fk_champions'])) $options['where']['fk_champions'] = intval($params['fk_champions']);
}

/**
 * Gets the query string parameters for pagination
 *
 * @param mixed $json
 * @return void
 */
public function customResponseOptions(&$json): void {
    /** @var JsonModel $json */
    $payload = $json->getVariable('payload');

    for ($i = 0; $i < \count($payload); $i++) $payload[$i]['champion'] = $this->_champions[$payload[$i]['fk_champions']];

    $json->setVariable('extra', ['champions' => $this->_champions]);
    $json->setVariable('payload', $payload);
}

/**
 * Modify the resultset
 *
 * @param mixed $data
 * @return void
 */
public function getListPost($data): void {
    $data->buffer();
    foreach($data as $d) $this->_champions[$d->Champion()->id] = $d->Champion()->name;
}

/**
 * Check data before creating record
 *
 * @param mixed $data
 * @return null|string error
 */
public function createPre(&$data): ?string {
    // check data
    return null;
}
    ```

## Auth configurations

...