sql >> Databasteknik >  >> RDS >> Mysql

Kan jag använda Laravels databaslager fristående?

IMO är det absolut giltigt att gå över till en OOP-strategi steg för steg.

Till din fråga:

Ja, du kan använda Eloquent fristående.

Här är packagist-webbplatsen:https://packagist.org/packages/illuminate/database Lägg till "illuminate/database": "5.0.*@dev" till din composer.json och kör composer update .Nu måste du bootstrap Eloquent. (https://github.com/illuminate/database )

Följande är kopierat från repans readme:

Användningsinstruktioner

Skapa först en ny "Capsule"-hanterarinstans. Capsule syftar till att göra det så enkelt som möjligt att konfigurera biblioteket för användning utanför Laravel-ramverket.

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();

När Capsule-instansen har registrerats. Du kan använda det så här:

Använda frågebyggaren

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

Andra kärnmetoder kan nås direkt från kapseln på samma sätt som från DB-fasaden:

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

Använda Schema Builder

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

Använder The Eloquent ORM

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

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

För ytterligare dokumentation om hur du använder de olika databasfaciliteter som detta bibliotek tillhandahåller, se Laravels ramdokumentation.



  1. Java lagrad procedur vs PL/SQL lagrad procedur

  2. hitta alla namn med mysql-fråga som börjar med bokstaven 'a'

  3. 2013 MVP Summit:En snabb recension och en titt framåt

  4. MySQL får radposition i ORDER BY