dev-master
9999999-dev https://github.com/andreossido/laravel-odbcODBC integration for Laravel framework
The Requires
- illuminate/database ~5.1
- illuminate/support ~5.1
- php ^5.3.3 || >=7.0
by Andrea Abram
ODBC integration for Laravel framework
This integration allows the use of odbc_* php function with Laravel framework instead of PDO.
It emulates PDO class used by Laravel., (*1)
composer require abram/laravel-odbc
To add source in your project, (*2)
It's very simple to configure:, (*3)
1) Add database to database.php file, (*4)
'odbc-connection-name' => [ 'driver' => 'odbc', 'dsn' => 'OdbcConnectionName', 'database' => 'DatabaseName', 'host' => '127.0.0.1', 'username' => 'username', 'password' => 'password' ]
2) Add service provider in app.php file, (*5)
'providers' => [ ... Abram\Odbc\ODBCServiceProvider::class ]
You can use Laravel, Eloquent ORM and other Illuminate's components as usual., (*6)
# Facade $books = DB::connection('odbc-connection-name')->table('books')->where('Author', 'Abram Andrea')->get(); # ORM $books = Book::where('Author', 'Abram Andrea')->get();
If you want to provide a custom getLastInsertId() function, you can extends ODBCProcessor class and override function.
, (*7)
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); } }
To use another class instead default one you can update your connection in:, (*8)
'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 ] ] ]
ODBC integration for Laravel framework