Mysql
 sql >> база данни >  >> RDS >> Mysql

Мога ли да използвам слоя на базата данни на Laravel самостоятелно?

IMO е абсолютно валидно преминаването към ООП подход стъпка по стъпка.

На вашия въпрос:

Да, можете да използвате Eloquent самостоятелно.

Ето сайта за пакетиране:https://packagist.org/packages/illuminate/database Добавете "illuminate/database": "5.0.*@dev" към вашия composer.json и стартирайте composer update .Сега ще трябва да стартирате Eloquent. (https://github.com/illuminate/database )

Следното се копира от readme на репо:

Инструкции за употреба

Първо, създайте нов екземпляр на мениджър "Капсула". Capsule има за цел да направи конфигурирането на библиотеката за използване извън рамката на Laravel възможно най-лесно.

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

След като екземплярът на Capsule е регистриран. Можете да го използвате така:

Използване на конструктора на заявки

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

Други основни методи могат да бъдат достъпни директно от капсулата по същия начин като от фасадата на DB:

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

Използване на Schema Builder

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

Използване на Eloquent ORM

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

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

За допълнителна документация относно използването на различните средства за бази данни, които тази библиотека предоставя, вижте документацията за рамката на Laravel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на конкретни стойности за дата/час за потребители в различни часови зони

  2. Броят на параметрите на заявката на MySQL съвпада с аргументите, предадени за изпълнение, но Python не повдига всички преобразувани аргументи

  3. MySQL COUNT() и нулеви стойности

  4. Актуализиране на изгледи в MySQL

  5. mysql преместване на ред между таблици