jack33232/database

此包已被弃用,不再维护。没有推荐替代包。

jack33232对Illuminate Database包进行了分支并修复了一些错误。

v5.4.19 2017-04-11 22:53 UTC

README

The Illuminate Database组件是一个完整的PHP数据库工具包,提供表达式查询构建器、ActiveRecord风格ORM和模式构建器。它目前支持MySQL、Postgres、SQL Server和SQLite。它还作为Laravel PHP框架的数据库层。

使用说明

首先,创建一个新的"Capsule"管理器实例。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));

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

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

composer require "illuminate/events" 当需要使用Eloquent的观察者时是必需的。

Capsule实例注册后,您可以使用它如下

使用查询构建器

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

其他核心方法可以通过与DB外观相同的方式直接从Capsule访问

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

使用模式构建器

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框架文档