sql >> Database >  >> RDS >> Mysql

Kan ik de databaselaag van Laravel zelfstandig gebruiken?

IMO is het absoluut geldig om stap voor stap over te stappen naar een OOP-aanpak.

Op je vraag:

Ja, je kunt Eloquent standalone gebruiken.

Hier is de packagist-site:https://packagist.org/packages/illuminate/database Voeg "illuminate/database": "5.0.*@dev" naar uw composer.json en voer composer update uit .Nu moet je Eloquent opstarten. (https://github.com/illuminate/database )

Het volgende is gekopieerd uit de leesmij van de repo:

Gebruiksinstructies

Maak eerst een nieuwe "Capsule"-managerinstantie. Capsule is bedoeld om het configureren van de bibliotheek voor gebruik buiten het Laravel-framework zo eenvoudig mogelijk te maken.

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => 'password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);

// Set the event dispatcher used by Eloquent models... (optional)
use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container;
$capsule->setEventDispatcher(new Dispatcher(new Container));

// Set the cache manager instance used by connections... (optional)
$capsule->setCacheManager(...);

// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();

// Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
$capsule->bootEloquent();

Zodra de Capsule-instantie is geregistreerd. Je kunt het zo gebruiken:

De Query Builder gebruiken

$users = Capsule::table('users')->where('votes', '>', 100)->get();

Andere kernmethoden zijn direct toegankelijk vanuit de Capsule op dezelfde manier als vanaf de DB-gevel:

$results = Capsule::select('select * from users where id = ?', array(1));

De schemabouwer gebruiken

Capsule::schema()->create('users', function($table)
{
    $table->increments('id');
    $table->string('email')->unique();
    $table->timestamps();
});

De welsprekende ORM gebruiken

class User extends Illuminate\Database\Eloquent\Model {}

$users = User::where('votes', '>', 1)->get();

Raadpleeg de Laravel framework-documentatie voor meer documentatie over het gebruik van de verschillende databasefaciliteiten die deze bibliotheek biedt.



  1. SSIS Excel-import forceren van onjuist kolomtype

  2. Tool voor vertaling van Oracle PL/SQL naar Postgresql PL/pgSQL

  3. Robolectric toegang tot database genereert een fout

  4. SQL Server:gebruik parameter in CREATE DATABASE