electro-modules / illuminate-database
Integrates the Laravel's Illuminate Database Component into the Electro framework
Installs: 2 096
Dependents: 6
Suggesters: 0
Security: 0
Stars: 0
Watchers: 5
Forks: 2
Type:electro-plugin
Requires
- php: >=5.6
- electro/interop: ^0.10.0
- illuminate/database: 5.5.40
- illuminate/events: ^5.2.7
- php-kit/ext-pdo: ^1.0.0
- php-kit/power-primitives: ^1.0.0
- php-kit/tools: ^2.0.0
This package is auto-updated.
Last update: 2024-11-12 12:41:16 UTC
README
Integrates the Laravel's Illuminate Database Component into the Electro framework
Introdution
This plugin integrates with PhpKit\ExtPDO
and the framework's database subsystem, so that connections defined on the
framework's Connections
service are automatically available as Illuminate Database connections.
Installation
Server Requirements
- PHP >= 5.6
- A fully-functional installation of the Electro framework
- Laravel's requirements
Installation
To install this plugin on your application, using the terminal, cd
to your app's directory and type:
workman install plugin electro-modules/illuminate-database
For correct operation, do not install this package directly with Composer.
Using the plugin
First, start by injecting the plugin API into your controller (or component, command, migration, etc).
use Electro\Plugins\IlluminateDatabase\DatabaseAPI; class MyController { private $api; function __construct (DatabaseAPI $api) { $this->api = $api; } }
Using the query builder
Example
$this->api->query()->from('products')->where('type','box')->get();
or simply
$this->api->table('products')->where('type','box')->get();
Using the schema builder
Example
use Illuminate\Database\Schema\Blueprint; $this->api->schema()->create ('news', function (Blueprint $table) { $table->increments ('id'); $table->string ('title', 100); });
Facades
This plugin also emulates some common database-related Laravel facades:
DB::method()
- equivalent to$api->connection ()->method()
Schema::method()
- equivalent to$api->schema()->method()
This way, you don't need to inject an API instance to call the query builder or the schema builder.
Note: being an anti-pattern, facades are not recommended for development with Electro.
Be sure to import the related namespaces before using the facades (do not use the original facades, it won't work).
use Electro\Plugins\IlluminateDatabase\DB;
use Electro\Plugins\IlluminateDatabase\Schema;
Using Eloquent
To use Eloquent, access your models as usual, but don't forget to base their classes on Electro\Plugins\IlluminateDatabase\BaseModel
instead of Illuminate\Database\Eloquent\Model
.
Example
use Electro\Plugins\IlluminateDatabase\BaseModel;
class Article extends BaseModel { }
$article = Article::find(1);
Migrations
Available commands
You can also type workman
on the terminal to get a list of available commands.
Type worman help xxx
(where xxx
is the command name) to know which arguments and options each command supports.
License
The Electro framework is open-source software licensed under the MIT license.
Electro framework - Copyright © Cláudio Silva and Impactwave, Lda.