darlane/oracle-laravel-vendor

laravel中oracle的供应商

dev-master 2018-11-22 07:29 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:08:22 UTC


README

laravel中oracle的供应商

在'app.php'的'providers'块中添加

\OracleLib\Providers\OracleServiceProvider::class

下一步

php artisan vendor:publish --provider="\OracleLib\Providers\OracleServiceProvider" --tag="config"

创建一个类似于示例中的特质

trait OracleRepositoryList
{
    
}

接下来,所有新的仓库添加到这个特质和AppServiceProvider中

/**
 * @return FooRepository
 */
public function fooRepository()
{
    return app(FooRepository::class);
}

在AppServiceProvider中

public function boot()
{
    $this->app->singleton(FooRepository::class, function () {
        return new FooRepository(app('oracle'));
    }); 
}

在你想使用这个仓库的类中添加特质并按如下方式使用它

class FooClass
{
   use OracleRepositoryList;
         
   public function method()
   {
       $this->testRepository()->test()
   }
}

示例:使用游标调用函数

$result = $this->execute(
        [
            'function'    => 'devdb.get_stat',
            'return_type' => 'cursor',
        ],
        [
            'p_id_user' => 1,
        ]);

$stats  = array_keys_rename($result['cursor'], [
    'EXPERIENCE'     => 'experience',
    'STATUS'         => 'status',
    'DT              => 'date',
]);
$stats  = array_keys_set_type($stats, [
    'experience'                => 'integer',
    'status'                    => 'integer',
    'credit_date'               => 'date',
]);