masterei / laravel-sproc

Laravel 查询构建器,用于处理存储过程。

v3.0.2 2023-12-07 02:05 UTC

This package is auto-updated.

Last update: 2024-09-23 11:16:31 UTC


README

Latest Version on Packagist Total Downloads

Laravel 查询构建器,用于处理存储过程。

安装

您可以通过 composer 安装此包

composer require masterei/laravel-sproc

可选地,您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="sproc-config"

用法

导入类门面

use Masterei\Sproc\Facades\SP;

execute()

 /**
 * Use this method if you are not expecting any dataset result.
 * @return void
 */

SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->execute();

get()

/**
 * Standard way of retrieving data from stored procedure.
 * This method accepts a dataset index. The default index is 0.
 */

SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->get();

first()

/**
 * Returns first object from an object array.
 */

SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->first();

all()

/**
 * Retrieves all dataset result.
 * Can be chained with first() method.
 */

SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->all();

fetch()

/**
 * Use this method to initialize dataset results.
 * Can be chained with first(), get() or all() method.
 */

$sp = SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->fetch();

// example
$data01 = $sp->get(1);
$data02 = $sp->get(2);

getScopeID()

/**
 * Returns id, ID or first row result generated by the stored procedure.
 */

SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->getScopeID();

toSql()

/**
 * Use this method to view generated raw query string.
 */

SP::call('stored_procedure_name')
    ->params([
        'Param01' => 'Arg01',
        'Param02' => 'Arg02',
    ])
    ->toSql();

hydrate()

/**
 * Convert plain arrays into collection of models.
 * Can be chained with first(), get() or all() method.
 */

SP::hydrate([
    "key01" => "value01",
    "key02" => "value02"
]);

注意

  • 此包使用 Laravel Eloquent Collection,这意味着您可以自由使用其功能,如 groupBy()、sortBy()、map() 等。

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

许可证

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