phattarachai / laravel-odbc
该包最新版本(0.1)的许可证信息不可用。
Laravel框架的ODBC集成
0.1
2022-11-27 18:18 UTC
Requires
- php: ^8.0
- ext-odbc: *
- ext-pdo: *
- illuminate/database: >= 6.0
- illuminate/support: >= 6.0
This package is auto-updated.
Last update: 2024-08-30 01:26:45 UTC
README
此集成允许在 Laravel 框架中使用 odbc_* php 函数,而不是使用 PDO。
它模拟 Laravel 使用的 PDO 类。
这是一个基于 andreossido/laravel-odbc
的项目,以支持最新的 PHP 和 Laravel 版本。
# 安装方法
composer require phattarachai/laravel-odbc
添加源到您的项目中
# 使用说明
配置非常简单
1) 将数据库添加到 database.php 文件中
'odbc-connection-name' => [ 'driver' => 'odbc', 'dsn' => 'OdbcConnectionName', 'database' => 'DatabaseName', 'host' => '127.0.0.1', 'username' => 'username', 'password' => 'password' ]
2) 在 app.php 文件中添加服务提供者
'providers' => [ ... Phattarachai\Odbc\ODBCServiceProvider::class ]
# Eloquent ORM
您可以使用 Laravel、Eloquent ORM 以及其他 Illuminates 组件,就像平常一样。
# Facade $books = DB::connection('odbc-connection-name')->table('books')->where('Author', 'Abram Andrea')->get(); # ORM $books = Book::where('Author', 'Abram Andrea')->get();
# 自定义 getLastInsertId() 函数
如果您想要提供一个自定义的 getLastInsertId() 函数,您可以通过扩展 ODBCProcessor 类并重写该函数来实现。
class CustomProcessor extends ODBCProcessor { /** * @param Builder $query * @param null $sequence * @return mixed */ public function getLastInsertId(Builder $query, $sequence = null) { return $query->getConnection()->table($query->from)->latest('id')->first()->getAttribute($sequence); } }
# 自定义处理器 / 查询语法 / 架构语法
如果您想使用另一个类代替默认类,您可以在配置文件中更新您的连接。
'odbc-connection-name' => [ 'driver' => 'odbc', 'dsn' => 'OdbcConnectionName', 'database' => 'DatabaseName', 'host' => '127.0.0.1', 'username' => 'username', 'password' => 'password', 'options' => [ 'processor' => Illuminate\Database\Query\Processors\Processor::class, //default 'grammar' => [ 'query' => Illuminate\Database\Query\Grammars\Grammar::class, //default 'schema' => Illuminate\Database\Schema\Grammars\Grammar::class //default ] ] ]