![]()
WARNING You're browsing the documentation for an upcoming version of Laravel Oci8. The documentation and features of this release are subject to change.
Stand Alone Usage
This documentation demonstrates how to use the package outside of Laravel.
- add
"yajra/laravel-oci8": "master.*"
on your composer then runcomposer install
- create
database.php
and add the code below
require 'vendor/autoload.php'; use Illuminate\Database\Capsule\Manager as Capsule;use Yajra\Oci8\Connectors\OracleConnector;use Yajra\Oci8\Oci8Connection; $capsule = new Capsule; $manager = $capsule->getDatabaseManager();$manager->extend('oracle', function($config){ $connector = new OracleConnector(); $connection = $connector->connect($config); $db = new Oci8Connection($connection, $config["database"], $config["prefix"]); // set oracle session variables $sessionVars = [ 'NLS_TIME_FORMAT' => 'HH24:MI:SS', 'NLS_DATE_FORMAT' => 'YYYY-MM-DD HH24:MI:SS', 'NLS_TIMESTAMP_FORMAT' => 'YYYY-MM-DD HH24:MI:SS', 'NLS_TIMESTAMP_TZ_FORMAT' => 'YYYY-MM-DD HH24:MI:SS TZH:TZM', 'NLS_NUMERIC_CHARACTERS' => '.,', ]; // Like Postgres, Oracle allows the concept of "schema" if (isset($config['schema'])) { $sessionVars['CURRENT_SCHEMA'] = $config['schema']; } $db->setSessionVars($sessionVars); return $db;}); $capsule->addConnection(array( 'driver' => 'oracle', 'host' => 'oracle.host', 'database' => 'xe', 'username' => 'user', 'password' => 'password', 'prefix' => '', 'port' => 1521)); $capsule->bootEloquent();
Set the event dispatcher used by Eloquent models (Optional).
use Illuminate\Events\Dispatcher;use Illuminate\Container\Container;$capsule->setEventDispatcher(new Dispatcher(new Container)); // Make this Capsule instance available globally via static methods... (optional)$capsule->setAsGlobal();
Now we can start working with database tables just like we would if we were using Laravel!
require 'database.php'; // Create the User modelclass User extends Illuminate\Database\Eloquent\Model { public $timestamps = false;} // Grab a user with an id of 1$user = User::find(1); echo $user->toJson(); die();